asp.net-mvc - 如何使用 dotnet 构建 .NET Framework ASP.NET 应用程序
问题描述
我们混合了 ASP.NET Core 和 .NET Framework ASP.NET 应用程序。我们混合使用msbuild
和dotnet
来构建应用程序。
我正在尝试全力以赴dotnet
,但构建总是会引发以下错误:
错误 MSB4019:找不到导入的项目“C:\Program Files\dotnet\sdk\3.0.100-preview5-011568\Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets”。确认声明中的路径正确,并且该文件存在于磁盘上。
现在我只是在尝试一个非常简单的命令dotnet msbuild foo.sln
。暂时没有使用任何标志或任何东西。
我已经在多个 ASP.NET(不是 Core)应用程序上尝试过这个,它们都给出了相同的错误。
解决方案
对于 ASP.NET Web 应用程序,您需要使用以下代码进行编译。
C:\'Program Files (x86)'\'Microsoft Visual Studio'\[year]\[edition]\MSBuild\Current\Bin\msbuild.exe [project.csproj] /p:VisualStudioVersion=[version] /p:DeployOnBuild=true /p:PublishProfile=[profileName]
您可以在 cmd 或 PowerShell 中运行。根据您机器上安装的 Visual Studio 版本和解决方案版本替换标签。
例如:
C:\'Program Files (x86)'\'Microsoft Visual Studio'\2019\Community\MSBuild\Current\Bin\msbuild.exe HelloWorld.csproj /p:VisualStudioVersion=16.0 /p:DeployOnBuild=true /p:PublishProfile=Release
推荐阅读
- sql-server - ROW_NUMBER 中的 SQL ORDER BY 子句 ERROR
- android - 如何将图像添加到 AdapterClass 中的 RecyclerView?
- javascript - Firestore 离线缓存和承诺
- python - pytorch 沿轴的梯度/导数/差异,如 numpy.diff
- python-3.x - 在 Keras 层中实现 Triplet Loss
- sql - 如何通过存储过程获取标量值函数结果 VB.net 形式
- c# - 如何在 Ajax 编辑器 C# 上添加RequiredFieldValidator
- python - python Flask SocketIO 用 eventlet 抛出 SSL 错误
- java - 在循环中运行方法以从数组列表中获取 Max、Min
- google-apps-script - Google表格中的Google App Script - 在列中查找相同的值并将数据行作为变量获取