我是Unix CM的极客,对Microsoft .NET开发知之甚少。我们现在有一个我们需要构建的VisualStudio .NET项目。我想使用Jenkins来进行构建。我使用Jenkins和Jenkins调用`msbuild.exe(版本3.5)在另一个构建服务器上设置了一个以前的VS项目。
目前,他们在本地桌面上构建这个项目(哦,为什么MS极客认为这是可以接受的?)。他们做了三个版本:一个在VS 2003中,一个在VS 2008中,一个在VS 2010中。
我的想法是他们根本不明白他们在做什么,或者使用不同版本的Visual Studio来构建不同的.NET版本。我的问题:
msbuild.exe
?如果没有,我在哪里可以找到它?我设置的另一个构建服务器安装了VisualStudio .NET,虽然它没有在我们的构建盒上使用。msbuild.exe
适用于哪个版本的.NET框架以及哪个版本的VisualStudio?另一个构建框使用3.5,它似乎对它们很有效。答案 0 :(得分:1)
通过适当设置.Net 4.0 SDK,您可以使用TargetFrameworkVersion构建VS 2008和VS 2010版本。我真的希望你的意思是使用的最旧版本是VS 2005(.Net 2.0),它也可以使用这种方法进行定位 - 如果你真的使用的是VS 2003(目标是.Net 1.1) - 你运气不好,当时msbuild
不存在。但是恐龙呢!
答案 1 :(得分:1)
您可以从Visual Studio 2010或msbuild定位不同的.NET框架。可以将构建项目设置为以.NET 2.0,.NET 3.5和.NET 4为目标。
话虽如此,如果它是同一个项目,那么没有真正的理由这样做。除非.NET 4版本正在添加其他功能,否则没有理由不仅仅针对.NET 2并构建单个部署,因为这可以在没有问题的情况下从.NET 3.5和.NET 4项目中使用。
我建议安装Visual Studio 2010,因为这样可以获得可以针对所有3个框架的msbuild版本。
不幸的是,如果您的目标是.NET 1.1(2003),则需要单独构建,而较新版本的Visual Studio仅支持.NET 2.0 +。
答案 2 :(得分:0)
即使没有MSBuild.exe,您仍然可以使用devenv.exe的命令行开关自动执行Visual Studio 2003的构建过程 - 请参阅位于MSDN的{在命令行上构建'的文章{ {3}}