【问题标题】:MSBuild ignoring publish profile configurationMSBuild 忽略发布配置文件配置
【发布时间】:2018-09-18 15:57:16
【问题描述】:

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

Other SO article

我希望能够让 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

日志

BeforeTargets 属性中列出的目标“_ConvertPdbFiles”位于 "C:\程序文件 (x86)\MSBuild\4.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets (34,37)" 在项目中不存在,将被忽略。 在 AfterTargets 属性中列出的目标“_CollectPdbFiles” "C:\程序文件 (x86)\MSBuild\4.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets (34,70)" 在项目中不存在,将被忽略。 在 BeforeTargets 属性中列出的目标“_CollectMdbFiles” "C:\程序文件 (x86)\MSBuild\4.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets (41,38)" 项目中不存在,将被忽略。 在 AfterTargets 属性中列出的目标“_CopyMdbFiles” "C:\程序文件 (x86)\MSBuild\4.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets (41,71)" 项目中不存在,将被忽略。项目 节点 1 上的“C:\Git\DXT\DXT.UI.WEB.APP.DEVICES\Dxt.Web\Dxt.Web.csproj” (默认目标)。 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(609,5): 错误:未为项目设置 OutputPath 属性 'Dxt.Web.csproj'。请检查以确保您指定了一个 此项目的配置和平台的有效组合。 配置='调试'平台='AnyCPU'。你可能会看到这个 消息,因为您正在尝试构建一个没有解决方案的项目 文件,并指定了一个非默认配置或平台 此项目不存在。 [C:\Git\DXT\DXT.UI.WEB.APP.DEVICES\Dxt.Web\Dxt.Web.csproj] 完成 建筑工程 “C:\Git\DXT\DXT.UI.WEB.APP.DEVICES\Dxt.Web\Dxt.Web.csproj”(默认 目标) -- 失败。

构建失败。

“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): 错误:未为项目设置 OutputPath 属性 'Dxt.Web.csproj'。请检查以确保您指定了一个 此项目的配置和平台的有效组合。 配置='调试'平台='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 的自定义配置,并且依赖于没有该配置的项目。

非常感谢任何帮助。

【问题讨论】:

    标签: visual-studio msbuild web-publishing


    【解决方案1】:

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

    【讨论】:

    • 感谢您在这里分享您的解决方案,您可以Accept it as an Answer。这可能对阅读此线程的其他社区成员有益,我们可以关闭此线程。
    • 谢谢Leo,我刚做了,2天前没让我接受答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 2020-12-11
    相关资源
    最近更新 更多