首页 > 解决方案 > VS2019 MSBuild.exe - ASP .Net MVC 项目在使用 PublishProfile 时无法发布,但在使用 OutDir 参数时有效

问题描述

我有一个无法使用发布配置文件发布的 ASP .Net MVC 5 项目。如果我尝试使用 OutDir 参数通过命令行发布它,我最终会成功发布和一个名为 _PublishedWebsites 的文件夹,其中包含我需要的文件。

但是,如果我尝试使用发布配置文件发布它,则会失败并出现以下错误。可能是什么原因?

在此处输入图像描述

我确保我的 web.config 中已经有指定的程序集引用:

在此处输入图像描述

这是发布配置文件:

在此处输入图像描述

此命令不起作用

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\msbuild.exe" "Site.csproj" /p:DeployOnBuild=true /p:PublishProfile=Coach  /p:VisualStudioVersion=16.0

此命令确实有效:

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\msbuild.exe" "Site.csproj" /p:DeployOnBuild=true /p:OutDir=C:\Projects\Coach\  /p:PrecompileBeforePublish=true /p:VisualStudioVersion=16.0

标签: c#asp.net.netasp.net-mvcmsbuild

解决方案


我最终需要向项目的任何子目录中的所有 web.config 添加相同的程序集引用(如下),例如 Views 文件夹和 Areas 文件夹。

   <system.web>
    <compilation>
        <assemblies>
          <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
          <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" />
        </assemblies>
     </compilation>
  </system.web>

推荐阅读