.Net Core Visual Studio 项目命令行构建与右键构建相同

Posted

技术标签:

【中文标题】.Net Core Visual Studio 项目命令行构建与右键构建相同【英文标题】:.Net Core Visual Studio project command line build same as right-clicking build 【发布时间】:2021-02-12 02:11:44 【问题描述】:

我希望能够运行批处理命令来构建我的 C# .NET Core 项目,这与我在解决方案中右键单击项目并选择在 Visual Studio 中构建时构建的方式完全相同。

我已经尝试了以下

dotnet build
dotnet build --configuration Debug
dotnet build --no-restore
dotnet build --no-dependencies

以及上述的混合,它们似乎都没有以与右键单击项目并选择构建相同的方式构建项目。有人可以指出我的方向吗?或者有人知道运行命令来构建与右键单击项目构建完全相同的方式吗?

【问题讨论】:

完全一样的方式 使用命令build后缺少什么?我在项目目录中执行了“构建批处理命令”,并正常构建。您是如何运行批处理命令来构建项目的? 大概和我在管理员命令提示符下导航到项目文件夹并键入命令的方式相同 【参考方案1】:

所以我在这里遇到的主要问题是我试图使用 dotnet 命令行工具构建 WPF。为了保持与我的解决方案相同的配置构建,我必须直接运行 msbuild 而不是使用 dotnet 下面是我用来解决此问题的代码

SET SolutionPath=%1

@ECHO OFF
CLS

ECHO ------------------------------------------------------------
ECHO Building WPF UI Project
ECHO ------------------------------------------------------------
cd %SolutionPath%
msbuild MySolution.sln -t:MySolution_WPF_UI -p:Configuration=Debug -p:Platform="x64" -p:WarningLevel=0 - 
v:minimal

if %ERRORLEVEL% GEQ 1 (
  ECHO ------------------------------------------------------------
  ECHO ******     THIS PROJECT HAD ERRORS DURING BUILD      *******
  ECHO ------------------------------------------------------------
  pause
)

TIMEOUT 4
EXIT

注意:如果您的项目包含“.”项目名称中的句点则必须用“_”下划线替换。在上面的示例中,项目名称是“MySolution.WPF.UI”,但已作为输入参数作为“MySolution_WPF_UI”传递。ALSO请注意,Visual Studio 将在您的项目中保存所有文件之前在使用这样的脚本构建之前,您应该使用

CTRL + SHIFT + S

保存您的项目,否则如果您最近从项目中添加或删除了文件,则它们可能不会在构建中被引用。另请注意,您的环境 PATH 变量中必须包含 msbuild 才能正常工作

【讨论】:

以上是关于.Net Core Visual Studio 项目命令行构建与右键构建相同的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017 安装中断 Visual Studio 2015 ASP.NET Core 项目

如何在 Visual Studio 中将 .NET Framework 更改为 .NET Standard/Core?

Visual Studio - 创建面向 .Net Core 的类库

如何在 Visual Studio 中切换 .NET Core 项目的目标框架

How to debug .NET Core RC2 app with Visual Studio Code on Windows?

Getting started with ASP.NET Core MVC and Visual Studio