c# - 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
解决方案
我最终需要向项目的任何子目录中的所有 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>
推荐阅读
- c++ - 仅在模板中使用 _com_ptr_t(由#import 自动创建)时出现链接错误
- ios - 视频在 ios 的 inappbrowser 中每秒都会暂停,而如果音频关闭,则它可以完美播放
- javascript - 我想解析 node.js 中 request.on('row) 中的所有行 - 但它只能用一行
- php - Laravel 8:在字符串上调用成员函数 notify()
- javascript - 现在使用 dotenv 并没有给出任何东西,在它至少给出之前
- python - 希望机器人只从用户那里获得输入 3 次
- react-native - 由于 glog 库构建错误,在构建新的 react native iOS 应用程序时出错
- python - Python通过条件格式化字典
- sql - SQL查询中\r\n有什么用
- c# - Stripe Checkout 会话的有效期是多久?