Динамическая настройка IISUrl проекта веб-приложения - PullRequest
12 голосов
/ 04 марта 2010

У меня есть проект веб-приложения, который я хотел бы иметь возможность разветвлять и разрабатывать на совершенно отдельном сайте IIS, и мне не нужно каждый раз редактировать настройку vbproj IISUrl. Я попытался добавить импорт некоторых стандартных свойств, чтобы сохранить их вне WAP-файла, но когда я ссылаюсь на них в элементе, они им не нравятся. Я подозреваю, что это потому, что элемент IISUrl является частью места для размещения информации, отличной от msbuild.

Как вы можете видеть из приведенного ниже кода, я пытаюсь ссылаться на $ (CustomUrl) в нескольких местах в WebApp1.vbproj, но когда я открываю VS, это не нравится.

Любой способ решить эту проблему, или у кого-то есть лучший способ для ветвления проектов веб-приложений.

CustomImport.vbproj

<Project 
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <CustomUrl>http://localhost/WebUrl_1</CustomUrl>
    </PropertyGroup>
</Project>

WebApp1.vbproj

<Import Project="CustomImport.vbproj"/>
<WebProjectProperties>
  <UseIIS>True</UseIIS>
  <AutoAssignPort>True</AutoAssignPort>
  <DevelopmentServerPort>1124</DevelopmentServerPort>
  <DevelopmentServerVPath>/</DevelopmentServerVPath>
  <IISUrl>$(CustomUrl)</IISUrl>
  <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl>
  <IISAppRootUrl>$(CustomUrl)/</IISAppRootUrl>
  <NTLMAuthentication>False</NTLMAuthentication>
  <UseCustomServer>False</UseCustomServer>
  <CustomServerUrl>$(CustomUrl)</CustomServerUrl>
  <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>

Ответы [ 3 ]

11 голосов
/ 05 ноября 2011

Полагаю, у меня есть обходной путь для этого в VS2010.

Щелкните правой кнопкой мыши проект в VS2010 и перейдите в Свойства.На вкладке «Веб» снимите флажок «Применить настройки сервера ко всем пользователям (сохранить в файле проекта)».Это заставляет все настройки храниться в файле [имя веб-проекта] .csproj.user, а не в самом файле проекта.(Мой проект на C # вместо VB, но я предполагаю, что он работает одинаково) Это позволяет вам иметь разные настройки сервера на каждой машине, выполняющей разработку, но в то же время совместно использовать остальную часть конфигурации.

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

После того, как вы выполнили начальную настройку на машине после получения последнего источника, ваш файл .user содержит конфигурацию.Пока вы не проверяете файлы .user в системе управления версиями, это, кажется, работает нормально.

0 голосов
/ 17 марта 2011

Эта статья о программном изменении файла проекта может быть вам полезна при создании решения для автоматизации изменения этих параметров: Программно изменить настройки веб-проекта с динамического порта на статический

0 голосов
/ 21 января 2011

Я страдаю от этой проблемы уже несколько лет. Эта проблема сохраняется от Visual Studio .NET (2003) до настоящего времени (VS 2010). Я искал автоматическое решение для автоматического переименования URL, но безуспешно.

То, что я делал, чтобы избежать этой проблемы, - это разветвление и наличие множества различных рабочих областей:

Корневая ветка для текущего проекта -> Ветка для команды разработчиков -> Ветвь для поддержки и долгосрочной целостности кода (это наиболее часто используемая мной ветвь) -> Мои персональные ветки с разными URL-адресами

Я знаю, что это не лучшее решение, но это лучшее, что я мог выяснить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...