我想编译一个.NET/C# 项目,但我不想安装 Visual Studio 来执行此操作。
我需要什么工具以及如何编译项目?
答案1
下载并安装最新的 .NET Framework。
例如,您可以使用.NET Framework 4.5 安装程序。打开命令提示符并切换到 .NET Framework 的安装目录。
例如:cd \Windows\Microsoft.NET\Framework\v4*
使用
MSBuild.exe
编译您的解决方案。
例如:msbuild "C:\Users\Oliver\Documents\My Project\My Project.sln" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU"
如果项目使用 NuGet 包,您可以按照以下步骤检索它们:
下载NuGet.exe 命令行 boostrapper例如,将其放在解决方案目录内。
打开命令提示符并切换到解决方案目录。
例如:cd "C:\Users\Oliver\Documents\My Project"
调用
NuGet.exe
以更新此解决方案所需的包:NuGet.exe install "My Project/packages.config" -o packages/
答案2
如果你想避免安装 Visual Studio,你可能想尝试单核细胞增多症, A跨平台以及开源 .NET 运行时和开发框架。Mono 基于已发布的 C# ECMA 标准,可直接兼容预编译的 C# 应用程序。
Mono 还包括名为 XBuild 的工具它可以完全替代 MSBuild。请参阅本文来自 Mono 项目关于将项目从 MSBuild 移植到 XBuild。Wiki 上对 XBuild 的一行描述:
xbuild 是 Mono 的 msbuild 实现,它允许具有 msbuild 文件的项目在 Linux 上进行本地编译。
请注意,除了 Linux,还支持 Windows 和 Mac OS X。
答案3
由于从 Windows 10 开始 .NET Framework 已预装,我们现在可以使用位于 的附带 MSBuild 编译(旧)项目C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
。
但最近我尝试使用 Visual Studio 2022 创建的 .NET Framework 4.8 项目,但没有成功,并收到以下警告:
Project file contains ToolsVersion="15.0". This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="4.0". For more information, please see http://go.microsoft.com/fwlink/?LinkId=291333.
还有几个error CS1056: Unexpected character '$'
错误,所以为了构建它我必须遵循以下步骤:
- 下载.NET Framework 4.8 开发包并安装它。
- 下载Visual Studio Build Tools 2017 安装程序并运行它。不要选择任何东西,只需按下安装右下角的按钮,应该是 47 MB 的安装。
- 去开始→Visual Studio 2017并打开VS 2017 的开发人员命令提示符捷径。
- 在打开的命令提示符窗口中,
cd
转到 repo 的文件夹。 - 跑步:
msbuild [ProjectName].sln /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU"
- 检查二进制文件\发布已编译 exe 的文件夹。
我希望这对每个试图在不安装 Visual Studio Community 的情况下构建 .NET Framework 项目的人都有效,开发此类应用程序至少需要 2 GiB。