我在笔记本电脑上安装了.NET4.0和VS2010RC,MSBuild自动安装.我希望通过只安装.NETSDK而不安装VS2010来构建一个持续集成服务器,所以我在link下载了微软的.NET4.0Framework.不幸的是,它似乎没有随此下载一起安装MSBuild(或者至少我找不到它).

这个链接是SDK的合适链接,还是只是运行时?如果没有,SDK的链接在哪里?

我有点怀疑它是整个SDK,因为它只有35MB的内存.NET3.5SP1下载量超过200MB.

推荐答案

也许这是一个稍微伪装成Windows 7 SDK的SDK.

Microsoft Windows SDK for Windows 7 and .NET Framework 4

UPDATE:a blog posts on the Windows SDK Blog的基础上,我链接到上面的SDK似乎包含msbuild,并支持构建托管(.NET)应用程序.我假设这就是我们一直在寻找的SDK,以便安装在我们的构建服务器上,所以我现在正在下载它,在我检出它之后,我会发布任何进一步的发现.

UPDATE:我可以确认,上面提供的链接确实安装了MSBuild以及SDK的其他部分.NET 4.0.我现在正在我的构建机器上成功地使用它,而无需安装Visual Studio 2010来构建我们的项目.

UPDATE:请参阅下面FrederikB的回答,因为似乎不需要整个SDK来获得MSBuild 4.0.如果您需要设置最小构建服务器,这将特别有用.我还没有确认这是否适合我,但在安装SDK之前值得一试.

UPDATE (Feb 2022):最近,我需要为旧版本使用msbuild.NET框架项目我可以使用Visual Studio的构建工具来实现这一点.更新时的最新版本可以在VisualStudio本身的下载页面上找到.在标记为Tools for Visual Studio 2022的部分下查找Build Tools for Visual Studio 2022.很明显,这是在现代社会中的类似功能.NET6是使用通用的.NET SDK,其中包括dotnet cli工具,这是对MSBuild的一个重大改进,在某些情况下仍然可以用于构建特定的应用程序.NET框架项目.

.net相关问答推荐

.NET发布的应用程序运行与开发不同的端口

我应该创建一个 DateRange 对象吗?

如何创建 LINQ to SQL 事务?

在 C# 中将字符串转换为 colored颜色

根源是什么?

编译时禁用 Dll 文化文件夹

.Include() 与 .Load() 在 EntityFramework 中的性能

.NET 4.0 中有内置的二叉搜索树吗?

使用多个 MemoryCache 实例

如何在 C# 中序列化异常对象?

是否可以更改 Winforms 组合框以禁用输入?

在 C# 中使用委托

在 C# 中与块等效?

List 和 IEnumerable 的实际区别

为什么发布和调试模式下的代码行为不同?

如何从 .NET 读取 PEM RSA 私钥

在 .NET Core 中在 MVC 之外使用 Razor

通过反射查找可空属性的类型

例外:不支持 URI 格式

可以从 C# 调用 C++ 代码吗?