Subversion и использование IIS для разработки ASP.NET

Я новичок в SVN и не смог найти ответа в следующей ситуации.

У меня есть разрабатываемое мной веб-приложение ASP .NET 2.0. Я использую свой локальный IIS в качестве веб-сервера разработки (т.е. не сервер веб-разработки Visual Studio). Моя среда разработки - VS2005, Vista, IIS7, TortoiseSVN / AnkhSVN. VisualSVN установлен на сервере.

Мои файлы .sln, библиотеки классов и т. д. Находятся в папке ** C: \ Localsource \ Projects \ ProjectName **, а мои файлы .aspx - в моей папке ** C: \ inetpub \ wwwroot \ ProjectName **.

Я могу настроить репозиторий для ** C: \ Localsource \ Projects \ ProjectName ** нормально, но не могу придумать способ настроить его для папки IIS в том же репозитории.

Как лучше всего работать с этой средой разработки в SVN?

Большое спасибо,

Муравей

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
2 232
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Вы не можете просто указать IIS на C: \ Localsource \ Projects \ ProjectName и установить разрешения?

Хммм - Хорошее замечание. Когда я приехал сюда, он был настроен таким образом, и Visual Studio всегда создает веб-сайты в папке wwwroot, поэтому я предположил, что wwwroot - это именно то место, куда они должны были пойти.

Может, мне придется подумать о том, чтобы немного переставить ...

Спасибо!

Хорошо, я могу быть здесь дураком, но ... Зачем вам нужно добавлять папку IIS (т.е. вывод базы кода) в ваш репозиторий?

Обновлять

Я думаю, мне следует прояснить это немного подробнее ... Я хочу сказать, что я не уверен, почему ASPX в любом случае отделен от проекта? Что не так с веб-проектом и проектами библиотеки классов п в решении, добавленных в ваш репозиторий .. Затем вы публикуете каждый новый выпуск ..

Если это просто случай «может быть проще откатить опубликованный результат», то так тому и быть, мне было просто любопытно, поскольку я не видел, чтобы многие люди действительно работали таким образом.

Развертывание решений в этой структуре также было бы намного проще.

Папка IIS не является продуктом базы кода, это часть приложения. Это не вывод CGI или что-то в этом роде, а на самом деле скрипты для запуска приложения!

Это страницы .aspx, которые будут иметь пользовательские элементы управления и HTML для фактического запуска приложения. Это часть приложения, но отделена от решения VS Studio.

Самый простой способ - получить решение, а затем C: \ Localsource \ Projects \ ProjectName \ WEBSITE.

Направьте IIS также на эту папку.

Ответ принят как подходящий

В решении в Visual Studio у вас может быть проект библиотеки классов, который обычно находится в каталоге под файлом .sln.

В этом случае у него также есть веб-проект в решении, но НЕ под файлом .sln в структуре каталогов файлов.

Он будет подключаться к этому проекту через HTTP, а не через локальный путь к файлу.

IIS будет управлять этим как http: // локальный / webapp и по умолчанию поместит его в c: \ inetpub \ wwwroot \ webapp. Файлы в папке webapp не будут находиться в репо, поскольку они не входят в иерархию решения и библиотеки классов. Это его вопрос, как в этом разобраться.

Мой ответ - переместить http: // локальный / webapp так, чтобы он указывал на папку, которая находится под файлом .sln и рядом с каталогом библиотеки классов, тогда все это может быть помещено в репо.

Разделение библиотеки классов и веб-приложения - лучший способ облегчить повторное использование кода и отделить логику от веб-сайта.

Я думаю, вы можете разделить это на две проблемы, следуя эта рекомендация от Dillorscroft.

Во-первых, что касается материалов на вашем сервере разработки, которые публикуются на рабочем сайте, я думаю, что для этого вам нужен контроль версий. Во-первых, вы можете откатить любую страницу, и вы также можете решить, когда у вас есть стабильный уровень сайта разработки, который вы хотите извлечь в производственную среду. (Я бы получил это из системы управления версиями в образ сайта, а затем синхронизировал бы это изображение с производственным сайтом.)

Итак, в первой части мы говорим об управлении версиями веб-страниц и всех настраиваемых серверных материалов, которые поддерживают веб-сайт.

Во-вторых, что касается разработки компонентов, которые используются на сайте, им нужны свои собственные проекты разработки, так как это результат, который попадает на сайт разработки, а не все исходники, библиотеки и т. д., Из которых создается компонент. с участием. Таким образом, у них будет свое собственное дерево разработки проекта (представьте, что вы строите библиотеку, которая будет использоваться другими проектами разработки, хотя в этом случае другие проекты являются веб-страницами). Таким образом, единственное, что должно отображаться в IIS, - это «развернутый» компонент на сайте разработки.

Кажется, у вас есть три важных вопроса:

  1. Как обрабатывается разработка тестов, которые должны соответствовать веб-сайту, и где это контролируется версией (при условии, что они не принадлежат самому веб-сайту)

  2. Насколько легко вы можете сделать так, чтобы весь контент на веб-сайте разработки находился под контролем версий и соответствующим образом регистрировался и возвращался. (Это связано с инструментами, которые вы используете для редактирования веб-страниц и другого мусора на стороне сервера, кроме компонентов, разработанных на стороне.)

  3. Легко переносить разработанные компоненты из проектов, которые их создают, на сайт разработки и регистрировать их там.

Мое решение для (2) и контроля версий веб-сайта разработки - использовать интеграцию Visual Source Safe с расширениями IIS и FrontPage, которые помещают сайт под контроль версий. Компоненты, созданные из других проектов разработки, сопоставляются с серверным проектом с помощью совместного использования VSS.

Что касается SVN, я предполагаю, что (1) вы хотите увидеть, существует ли адаптер SVN, который IIS распознает как внешнюю систему управления версиями, и, в любом случае, (2) есть дисциплина, которая берет на себя доставку компонентов из их строительных проектов. в общий проект веб-сайта.

Роб,

Почему вы считаете файл .aspx выходом из базы кода?

Это часть кодовой базы. Например, это не результат компиляции.

Просто интересно?

Другие вопросы по теме