Подтвердить что ты не робот

Веб-приложение ASP.Net Add Config Transform Grayed Out

Я добавил существующий проект веб-приложения ASP.Net для своего решения. В дополнение к стандартным конфигурациям отладки и выпуска это решение также имеет две настраиваемые конфигурации: SAT и UAT. Для нового веб-приложения, щелкнув правой кнопкой мыши на Web.Config, вы увидите контекстное меню, но опция "Добавить конфигурационное преобразование" выделена серым цветом.

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

Мысли?

4b9b3361

Ответ 1

Сначала вы должны определить конфигурации в Configuration Manager. Чтобы убедиться в том, что вы запускаете Configuration Manager, вы можете получить к нему доступ, перейдя к: Build- > Configuraton Manager

В раскрывающемся меню "Конфигурация активного решения" выберите <New...>. После того, как вы добавили, вы сможете "Добавить конфигурационное преобразование".

Не редактируйте файл решения напрямую. Это вызовет только головные боли.

Ответ 2

Когда мы работаем с PublishProfiles, для меня ответ был правой кнопкой мыши по соответствующему файлу pubxml (найденному в папке проекта Properties подпапка PublishProfiles), а затем выбрав Add Config Transform. Менеджеры не нуждались;).

Ответ 3

В моем случае, в Visual Studio 2015, когда я создавал новое решение на основе шаблона проекта, Add Config Transform был недоступен, но по другой причине:

Нажатие на "Показать все файлы" показало, что файлы уже были там - только скрытые. Следовательно, кнопка была недоступна (потому что нет необходимости добавлять их, поскольку они уже есть).

  1. Нажмите значок "Показать все файлы":
    enter image description here

  2. Теперь вы можете развернуть "Web.config":
    enter image description here

  3. Дважды щелкните любой из файлов преобразования (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

Я решил это, осознав две вещи:

  1. Существует конфигурация уровня решения, и есть конфигурации уровня проекта. Файл web.MyConfigName.config создается на основе конфигураций уровня проекта.
  2. Кажется, что Visual Studio 2017 Configuration Manager определяет, какие конфигурации добавить из (скрытой) папки obj. Удаление папки obj для проекта и перестройка обновит проект с добавленными вами конфигурациями.

Чтобы сделать опцию "Добавить конфигурационное преобразование" доступной, выполните следующие действия:

  1. Убедитесь, что вы включили показ скрытых файлов
  2. Откройте диспетчер конфигурации для решения
  3. Выберите соответствующую конфигурацию решения, затем в раскрывающемся списке рядом с вашим проектом выберите <New..> или <Edit..> и добавьте, удалите или отредактируйте необходимые конфигурации Project.
  4. Удалите папку obj в вашем проекте. Перестроить. Обязательно сохраните изменения в своем проекте и файлах решений. Я также перезапустил визуальную студию, потому что почему бы и нет. Убедитесь, что вы видите все ваши настройки проекта как папки в вашей папке obj.
  5. Щелкните правой кнопкой мыши web.config и добавьте преобразование конфигурации.

Надеюсь, это кому-нибудь поможет. :)