1

我正在尝试使用 MSBuild 通过命令行发布一堆 Web 服务和一个网站。当我发布时,Web 服务发布成功,但我的网站在检查日志时没有,我意识到 msbuild 忽略了指定发布配置文件中的构建配置并使用默认配置,即 Debug|AnyCpu。我在 SO 和互联网上漫游,发现了一些文章,但没有一个对我有用。

其他SO文章

我希望能够让 MSBuild 了解我正在尝试通过发布配置文件进行发布。我测试了发布配置文件和视觉工作室,并能够执行发布。

这是我的 msbuild 命令

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MsBuild.exe "PATH_TO_PROJECT\PROJECT.csproj" /nodeReuse:false /nologo /p:PublishProfile="FolderProfile" /p:DeployOnBuild=True

日志

项目中不存在“C:\Program Files (x86)\MSBuild\4.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets (34,37)”的 BeforeTargets 属性中列出的目标“_ConvertPdbFiles” , 并将被忽略。项目中不存在“C:\Program Files (x86)\MSBuild\4.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets (34,70)”的 AfterTargets 属性中列出的目标“_CollectPdbFiles” , 并将被忽略。项目中不存在“C:\Program Files (x86)\MSBuild\4.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets (41,38)”的 BeforeTargets 属性中列出的目标“_CollectMdbFiles” , 并将被忽略。在“C:”的 AfterTargets 属性中列出的目标“_CopyMdbFiles”

构建失败。

“C:\Git\DXT\DXT.UI.WEB.APP.DEVICES\Dxt.Web\Dxt.Web.csproj”(默认目标)(1)->(_CheckForInvalidConfigurationAndPlatform 目标)->
C:\WINDOWS\Microsoft. NET\Framework\v4.0.30319\Microsoft.Common.targets(609,5):错误:未为项目“Dxt.Web.csproj”设置 OutputPath 属性。请检查以确保您为此项目指定了有效的配置和平台组合。配置='调试'平台='AnyCPU'。您可能会看到此消息,因为您正在尝试构建没有解决方案文件的项目,并且指定了该项目不存在的非默认配置或平台。[C:\Git\DXT\DXT.UI.WEB.APP.DEVICES\Dxt.Web\Dxt.Web.csproj]

0 Warning(s)
1 Error(s)

经过时间 00:00:00.09

我尝试提供特定配置以避免 Debug|AnyCpu 组合,但遇到错误,因为该网站有一个名为 Release.Custom 的自定义配置,并且依赖于没有该配置的项目。

任何帮助深表感谢。

4

1 回答 1

0

如果有人遇到这种情况,我可以通过将 Configuration 标记的值更改为我的自定义 BuildConfiguration 即“Release.Custom”来修复我的错误。考虑到我在这上面花了一天时间,这是非常愚蠢的。

于 2018-09-18T16:24:37.340 回答