Включить web.release.config в вывод веб-развертывания - PullRequest
0 голосов
/ 09 января 2020

По умолчанию при публикации веб-проекта с использованием MSBuild / Visual Studio применяются преобразования конфигурации.

Я хотел бы включить преобразования config в выход.

Вход

web.config  
web.Debug.config   
web.Release.config  

Выход по умолчанию

web.config

Желаемый выход

web.config  
web.Debug.config   
web.Release.config  

Ответы [ 2 ]

1 голос
/ 10 января 2020

Включить web.release.config в вывод веб-развертывания

По умолчанию , при публикации веб-сайта VS не упаковывает web.debug.config и web.release.config но только web.config.

Для достижения того, что вы хотите, вы можете добавить пользовательскую цель в publishprofile.pubxml, чтобы включить эти дополнительные файлы.

Пожалуйста, попробуйте это:

<Target Name="CustomCollectFiles">
          <ItemGroup>
            <AdditionFiles Include="xxxxxxxxxxx\Web.Debug.config;xxxxxxxxx\Web.Release.config">
            </AdditionFiles>
            <FilesForPackagingFromProject Include="%(AdditionFiles.Identity)">
               <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
            </FilesForPackagingFromProject>
          </ItemGroup>
     </Target>
     <PropertyGroup>
          <CopyAllFilesToSingleFolderForPackageDependsOn>
               CustomCollectFiles;
               $(CopyAllFilesToSingleFolderForPackageDependsOn);
          </CopyAllFilesToSingleFolderForPackageDependsOn>

          <CopyAllFilesToSingleFolderForMsdeployDependsOn>
               CustomCollectFiles;
               $(CopyAllFilesToSingleFolderForMsdeployDependsOn);
          </CopyAllFilesToSingleFolderForMsdeployDependsOn>
     </PropertyGroup>

И затем вы найдете эти файлы в папке Publi sh, когда завершите шаг Publi sh.

Надеюсь, он вам поможет.

0 голосов
/ 09 января 2020

Обновление файлов Действие сборки до Содержимое с использованием Visual Studio (например, щелчок правой кнопкой мыши, свойства)

enter image description here

Задачи Publi sh по-прежнему преобразуют файлы, поэтому мы должны сообщить MSBuild, что мы не хотим преобразовывать эти файлы при публикации.

Этого можно достичь, передав следующие параметры в MSBuild:

/p:ProfileTransformWebConfigEnabled=false /p:MarkWebConfigAssistFilesAsExclude=false

Если вы работаете в Visual Studio, вы проверяете это поведение, добавляя эти свойства в папку publi sh profile PublishProfile.xml

<!-- Disable Web.config Transforms -->
<ProfileTransformWebConfigEnabled>false</ProfileTransformWebConfigEnabled>
<MarkWebConfigAssistFilesAsExclude>false</MarkWebConfigAssistFilesAsExclude>
...