пакет веб-развертывания не получает параметры .xml при использовании последнего формата csproj

У меня есть проект, который обновляется для использования нового формата .csproj. Раньше мы использовали следующие аргументы msbuild:

msbuild Logging.sln /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="C:\Source\webdeploy"

Который создал пакет веб-развертывания .zip. На верхнем уровне этой папки находился файл parameters.xml, который является копией пользовательского файла parameters.xml из строящегося проекта.

После перехода на новый формат .csproj ZIP-файл все еще создается, но файл parameters.xml внутри ZIP-файла неверен. Я не уверен, откуда он взялся, но он выглядит как файл по умолчанию:

<parameters>
  <parameter name="IIS Web Application Name" value="Default Web Site" tags="IisApp">
    <parameterEntry kind="ProviderPath" scope="IisApp" match="^C:\\Source\\Repos\\Logging\\src\\Handler\\obj\\Debug\\net461\\win7-x86\\PubTmp\\Out\\$" />
  </parameter>
</parameters>

Есть ли способ заставить msbuild использовать пользовательский файл parameters.xml?

РЕДАКТИРОВАТЬ: похоже, что есть аргумент «declareParamFile» (https://technet.microsoft.com/en-us/library/dd569089(v=ws.10).aspx), вы можете перейти в msdeploy, но не знаете, как передать это через msbuild в мсдеплой.


person Tom Anderson    schedule 06.09.2017    source источник


Ответы (1)


Не знаю, почему он не получает ваш файл parameters.xml, но вы можете передать пользовательский файл со свойством ProjectParametersXMLFile - /p:ProjectParametersXMLFile="c:\parameter.xml".

person Angel Yordanov    schedule 21.09.2017
comment
Работает ли это с проектами ASP.NET Core? Кажется, я не мог заставить это работать с моим проектом. Я, как и Том, мог получить веб-пакет, но не мои параметры.xml, встроенные в пакет. - person Josh Schultz; 16.10.2017
comment
Это не работает для проектов ASP.NET Core. :( Он работает с проектами .NET Framework. - person crimbo; 13.12.2017