.NET 4.0在CI服务器上生成问题
任何人都可以在CI服务器上编译.NET 4.0应用程序,而无需在CI服务器上安装Visual Studio 2010?
.NET 4.0没有SDK。 在CI服务器上安装了.NET 4.0。 Msbuild.exe适用于简单的项目,并提供以下警告:
(GetReferenceAssemblyPaths target) – > C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(847,9):警告MSB3644:“.NETFramework,Version = v4.0”没有find。 要解决此问题,请为此框架版本安装SDK或定位包,或者将您的应用程序redirect到您安装了SDK或定位包的框架版本。 请注意,程序集将从全局程序集caching(GAC)中parsing出来,并将用于代替引用程序集。 因此,您的程序集可能无法正确定位您想要的框架。
你不需要再安装VS了,现在你可以安装“Microsoft Windows SDK for Windows 7和.NET Framework 4”。
SDK for .NET 4.5 在这里可用。 安装程序与基本授权代理运行良好。 支持的操作系统:Windows 8,Windows Server 2012,Windows 7,Windows Server 2008 R2
PS我的回答更像是对杰里米回答的评论,但是我没有足够的声望评论答案。
其他select:不安装Net 4.0 SDK或vs 2010
从开发机器复制引用程序集文件夹构build服务器(190MB)。
使用msbuild -p:FrameworkPathOverride选项指向引用程序集文件夹
参考汇编位置:
C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0或C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0
发现这从:
.NET 4.0构build服务器引用程序集警告MSB3644
如果你得到这个错误:“Microsoft.WebApplication.targets没有find” – 只需从开发机器复制目标https://stackoverflow.com/a/5344246/423356
如果mvc3没有安装在构build服务器上; “添加可部署的程序集”到mvc项目http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx
如果在安装sdk或visual studio时没有构buildMSTest项目, 这里有好几篇博客文章,对我来说糟糕的解决scheme太复杂了。 我使用NUnit而不是MSTest
此页面列出了每个Visual Studio版本的.NET SDK。 http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx
对于较小的下载,请select“开发者包”或“定位包”,而不是完整的Windows SDK。