Я добавил существующий проект веб-приложения ASP.Net для своего решения. В дополнение к стандартным конфигурациям отладки и выпуска это решение также имеет две настраиваемые конфигурации: SAT и UAT. Для нового веб-приложения, щелкнув правой кнопкой мыши на Web.Config, вы увидите контекстное меню, но опция "Добавить конфигурационное преобразование" выделена серым цветом.
Я в недоумении. Новый проект - это веб-приложение. Диспетчер конфигурации не отображает две настраиваемые конфигурации для этого проекта, но для других проектов. Кажется, что в файле решения есть правильные записи.
Мысли?
Ответ 1
Сначала вы должны определить конфигурации в Configuration Manager. Чтобы убедиться в том, что вы запускаете Configuration Manager, вы можете получить к нему доступ, перейдя к: Build- > Configuraton Manager
В раскрывающемся меню "Конфигурация активного решения" выберите <New...>
. После того, как вы добавили, вы сможете "Добавить конфигурационное преобразование".
Не редактируйте файл решения напрямую. Это вызовет только головные боли.
Ответ 2
Когда мы работаем с PublishProfiles, для меня ответ был правой кнопкой мыши по соответствующему файлу pubxml
(найденному в папке проекта Properties
подпапка PublishProfiles
), а затем выбрав Add Config Transform
. Менеджеры не нуждались;).
Ответ 3
В моем случае, в Visual Studio 2015, когда я создавал новое решение на основе шаблона проекта, Add Config Transform был недоступен, но по другой причине:
Нажатие на "Показать все файлы" показало, что файлы уже были там - только скрытые. Следовательно, кнопка была недоступна (потому что нет необходимости добавлять их, поскольку они уже есть).
-
Нажмите значок "Показать все файлы":
![enter image description here]()
-
Теперь вы можете развернуть "Web.config":
![enter image description here]()
-
Дважды щелкните любой из файлов преобразования (Web.Debug.config
или Web.Release.config
), чтобы открыть и отредактировать его.
Заметки:
-
Я не хотел добавлять дополнительную конфигурацию, просто используйте Debug и Release. Если вы создаете его, выбираете его, а файл преобразования еще не существует, тогда пункт контекстного меню Добавить конфигурацию преобразования активен и не выделен серым цветом.
-
Если вы хотите создать дополнительные файлы преобразования конфигурации, имейте в виду, что в Visual Studio преобразования конфигурации связаны с конфигурациями. Чтобы добавить другое преобразование, вам нужно сначала добавить новую конфигурацию. Чтобы добавить еще одну, сделайте следующее: через менеджер конфигурации (выпадающий список, где вы можете выбрать Debug или Release), сначала добавьте новую конфигурацию, например, myNewConfig. Затем выберите myNewConfig. Теперь выберите Web.config в обозревателе решений, щелкните правой кнопкой мыши и выберите в контекстном меню "Добавить преобразование конфигурации" - он создаст Web.myNewConfig.config. Как только оно существует, контекстное меню снова будет недоступно, потому что VS допускает только одно преобразование на конфигурацию.
Ответ 4
Чтобы это работало, мне пришлось добавить новые группы свойств в мой файл csproj.
Добавить Config Transform было недоступно.
я добавил следующий XML в мой csproj и перезагрузил проект. затем было добавлено преобразование конфигурации. после того, как выбраны мои добавления были добавлены преобразования
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'IAT_CMCD|AnyCPU'">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'UAT_CM|AnyCPU'">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
Ответ 5
Я решил это, осознав две вещи:
- Существует конфигурация уровня решения, и есть конфигурации уровня проекта. Файл web.MyConfigName.config создается на основе конфигураций уровня проекта.
- Кажется, что Visual Studio 2017 Configuration Manager определяет, какие конфигурации добавить из (скрытой) папки obj. Удаление папки obj для проекта и перестройка обновит проект с добавленными вами конфигурациями.
Чтобы сделать опцию "Добавить конфигурационное преобразование" доступной, выполните следующие действия:
- Убедитесь, что вы включили показ скрытых файлов
- Откройте диспетчер конфигурации для решения
- Выберите соответствующую конфигурацию решения, затем в раскрывающемся списке рядом с вашим проектом выберите
<New..>
или <Edit..>
и добавьте, удалите или отредактируйте необходимые конфигурации Project. - Удалите папку obj в вашем проекте. Перестроить. Обязательно сохраните изменения в своем проекте и файлах решений. Я также перезапустил визуальную студию, потому что почему бы и нет. Убедитесь, что вы видите все ваши настройки проекта как папки в вашей папке obj.
- Щелкните правой кнопкой мыши web.config и добавьте преобразование конфигурации.
Надеюсь, это кому-нибудь поможет. :)