需要在命令行中msbuild较低版本的C#项目,无需Visual Studio

问题描述 投票:0回答:3

我需要在命令行上msbuild较低版本的C#项目,我没有Visual Studios。

我在构建项目时遇到错误:

Microsoft (R) Build Engine Version 2.0.50727.42
[Microsoft .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation 2005. All rights reserved.

.\Project.sln : Solution file error MSB4054: The solution file must be opened in t
he Visual Studio IDE and converted to the latest version before it can be built
by MSBuild.

我有 .sln 文件,之前有人确实从这里构建了该项目,可能使用版本 1.0 引擎。

有人可以帮我吗?

c# command-line msbuild
3个回答
1
投票

您将在 C:\Windows\Microsoft.NET\Framework[框架版本] 中找到 MSBuild。

例如,.NET 2.0 附带的版本位于 C:\Windows\Microsoft.NET\Framework 2.0.50727 中。 我相信那是 VS 8.0 附带的。

如果您需要 x64 版本,位于 C:\Windows\Microsoft.NET\Framework64 2.0.50727


1
投票

在许多情况下,您只需将项目文件传递给 MsBuild,它就会正常编译。 例如:

msbuild MyProj.csproj /p:Configuration=Release

.csproj 文件是有效的 MsBuild XML 文件,而 .sln 文件必须动态转换为 MsBuild 脚本,这就是它们与特定版本的 Visual Studio 绑定的原因。

如果您的解决方案中有多个项目,我建议将主/启动项目传递给 MsBuild,以便也构建所有依赖项。 此方法并不总是有效,如果您在解决方案文件中指定了任何解决方案级别依赖项或自定义解决方案配置,您可能会遇到问题。


0
投票

好的,已获得客户安装 VStudios 的许可。安装并构建了程序:/

© www.soinside.com 2019 - 2024. All rights reserved.