Веб-додаток ASP.Net Додати перетворення конфігурації сірим кольором


88

Я додав існуючий проект веб-програми ASP.Net до свого рішення. На додаток до стандартних конфігурацій налагодження та випуску, це рішення також має дві власні конфігурації, SAT та UAT. Для нової веб-програми правою кнопкою миші на Web.Config відображається контекстне меню, але опція "Додати перетворення конфігурації" неактивна.

Я в розгубі. Новий проект - веб-додаток. Менеджер конфігурацій не відображає дві власні конфігурації для цього проекту, але відображає для інших проектів. Здається, проект має правильні записи у файлі рішення.

Думки?

Відповіді:


115

Спочатку потрібно визначити конфігурації в диспетчері конфігурацій. Щоб переконатися, що ви відкриваєте Configuration Manager, ви можете отримати до нього доступ, перейшовши до: Build-> Configuraton Manager

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

Не редагуйте файл рішення безпосередньо. Це лише спричинить головний біль.


6
Дух. Я пробував це раніше, але не зміг зняти прапорець "створити", тому він не працював як "дублікат". Як тільки я зняв прапорець "створити", це спрацювало.
paulv7260

@maplemale Те саме тут, варіант все ще сірий
Андерс Лінден

Вибачте, я не пам’ятаю, як у мене це вийшло. Можливо, я зламав файл sln безпосередньо, всупереч відповіді Джеремі, іноді це єдиний життєздатний варіант. У мене не було цієї проблеми, хоча з моменту оновлення до VS2015.
maplemale

2
Конфігурації рішення та проекту відрізняються! Вам потрібно створити конфігурацію в даному проекті, перш ніж він зможе використовувати це перетворення. Або встановіть прапорець "Створити нові конфігурації проекту", щоб створити конфігурацію відразу у всіх проектах, або зробіть це окремо, як це зробив @ paulv7260.
Патрік

1
Якщо він усе ще неактивний, переконайтеся, що у вашому веб-проекті є конфігурація збірки, яка відповідає назві конфігурації рішення, і переконайтеся, що вона вибрана.
jmatthias

45

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


Це рішення працює набагато краще для мене, оскільки я хочу лише додавати це перетворення, нічого іншого. Нова конфігурація активного рішення впливає на всі проекти у рішенні, що не є актуальним у моєму випадку. Дякую!
Бен,

Ідеально Працює в моєму старому проекті Web Forms, який я зараз редагую в Visual Studio 2015. Подобається. Дякую.
bkwdesign

5
Протестовано та працює над VS 2015. Однак я все ще не можу зрозуміти, чому "Додати перетворення конфігурації" сірим кольором
Іллідан

20

У моєму випадку у Visual Studio 2015, коли я створював нове рішення на основі шаблону проекту, Add Config Transform був неактивним - але з іншої причини:

Натиснувши "Показати всі файли", файли вже були - лише приховані. Отже, кнопка була сірою (оскільки немає необхідності додавати їх, оскільки вони вже є).

  1. Клацніть піктограму "Показати всі файли":
    введіть тут опис зображення

  2. Тепер ви можете розгорнути "Web.config":
    введіть тут опис зображення

  3. Двічі клацніть на будь-якому файлі перетворення ( Web.Debug.configабо Web.Release.config), щоб відкрити та відредагувати його.

Примітки:

  • Я не хотів додавати додаткову конфігурацію, просто використовуйте Debug і Release . Якщо ви створили його, виділили його, а файл перетворення ще не існує, тоді пункт контекстного меню Додати конфігурацію перетворення активний і не сірий.

  • Якщо ви хочете створити додаткові файли перетворення конфігурації , майте на увазі, що у Visual Studio перетворення конфігурації співвідносяться з конфігураціями. Щоб додати ще одне перетворення, спочатку потрібно додати нову конфігурацію. Щоб додати іншу, зробіть наступне: За допомогою диспетчера конфігурацій (спадне меню, де можна вибрати Налагодження або Випуск), спочатку додайте нову конфігурацію, наприклад myNewConfig. Потім виберіть myNewConfig. Тепер виберіть Web.config у Провіднику рішень, клацніть правою кнопкою миші та виберіть у контекстному меню «Додати перетворення конфігурації» - це створить Web.myNewConfig.config. Як тільки воно існує, контекстне меню знову буде сірим, оскільки VS дозволяє лише одне перетворення для кожної конфігурації.


Така була ситуація і для мене. Я хотів, щоб файли перетворення конфігурації залишалися видимими, тому я прокоментував <DependentUpon>Web.config</DependentUpon>у файлі проекту. Трансформації все ще працюють, як очікувалося.
Ітан,

Як я можу додати нові перетворення конфігурації?
Решма

@Reshma - У Visual Studio перетворення конфігурації співвідносяться з конфігураціями. За допомогою менеджера конфігурацій (спадне меню, де ви можете вибрати Налагодження або Випуск), спочатку додайте нову конфігурацію, наприклад myNewConfig. Потім виберіть myNewConfig. Тепер виберіть Web.config, клацніть правою кнопкою миші та виберіть у контекстному меню «Додати перетворення конфігурації» - це створить Web.myNewConfig.config.
Метт,

Я зробив це, Метт, і зміг додати один конфігураційний файл, але я намагаюся додати інший конфігураційний файл, і тепер знову "додайте Config Transform" буде неактивним. Я також створив новий файл конфігурації для наступного конфігураційного файлу
Решма,

1
@Reshma - Це правильно, тому що для кожної конфігурації ви можете мати лише один. Щоб отримати іншу, додайте одну додаткову конфігурацію, скажімо, myNewConfig2. Потім виберіть myNewConfig2 і повторіть спробу. Цього разу воно не повинно бути сірим - виберіть його. Примітка: Він буде сірим, як тільки з'явиться конфігураційний файл для цієї конфігурації.
Метт,

1

Щоб це працювало, мені довелося додати нові групи властивостей до мого файлу csproj.

Add Config Transform було неактивним.

я додав наступний XML до мого csproj і перезавантажив проект. тоді була доступна функція Add Config Transform. після вибраного мої додані трансформації були додані

<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>

1

Я вирішив це, зрозумівши дві речі:

  1. Існує конфігурація рівня рішення , а є конфігурації рівня проекту . Web.MyConfigName.config створюється на основі конфігурацій рівня проекту .
  2. Здається, Visual Studio 2017 Configuration Manager базує, які конфігурації додати із (прихованої) папки obj. Видалення папки obj для проекту та відновлення оновить проект із доданими конфігураціями.

Щоб зробити доступною опцію «додати перетворення конфігурації», виконайте такі дії:

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

Сподіваюся, це комусь допомагає. :)


1

Як увімкнути опцію "Додати перетворення конфігурації". Будь ласка, виконайте наведені нижче дії. Крок 1: Перейдіть до конфігурації рішення (нижче команди) Перейдіть до конфігурації рішення (нижче команди)

Крок 2: Клацніть на Configuration Manager Клацніть на Configuration Manager

Крок 3: Виберіть Нове у вікні конфігурації Активного рішення Виберіть Нове у вікні конфігурації Активного рішення

Крок 4: Тепер дайте значуще ім'я своєму новому елементу, наприклад, Виробництво / Постановка, і виберіть параметр копіювання в опції "Випуск". Переконайтеся, що ви встановили прапорець, якщо він не встановлений за замовчуванням, і натисніть кнопку OK. Тепер дайте значуще ім’я своєму новому предмету, наприклад Виробництво / Постановка

Крок 5: Тепер поверніться до свого провідника рішень і клацніть правою кнопкою миші на вашому файлі Web.Config. Add Config Transform увімкнено зараз

Гола! Add Config Transform увімкнено зараз. :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.