首页 文章

.NET 4.0在CI服务器上构建问题

提问于
浏览
97

任何人都设法在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 “没找到 . 要解决此问题,请为此框架版本安装SDK或Targeting Pack,或者将应用程序重新定位到已安装SDK或Targeting Pack的框架版本 . 请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于代替引用程序集 . 因此,您的程序集可能无法正确定位到您想要的框架 .

4 回答

  • 23

    您不再需要安装VS,现在可以安装“Microsoft Windows SDK for Windows 7和.NET Framework 4” .

    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b

  • 10

    SDK for .NET 4.5可用here . 安装程序与基本授权的代理配合良好 . 支持的操作系统:Windows 8,Windows Server 2012,Windows 7,Windows Server 2008 R2

    附:我的回答更像是对Jeremy answer的评论,但我没有足够的声誉对答案发表评论 .

  • 0

    其他选择:无需安装Net 4.0 SDK或vs 2010

    将引用程序集文件夹从开发计算机复制到构建服务器(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 server reference assemblies warnings MSB3644

    如果您收到此错误:"Microsoft.WebApplication.targets was not found" - 只需从开发机器复制目标https://stackoverflow.com/a/5344246/423356

    如果构建服务器中未安装mvc3; "add deployable assemblies"到mvc项目http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

    如果在没有安装sdk或visual studio的情况下构建MSTest项目时出错;有几个博客文章关于这个,糟糕的解决方案对我来说太复杂了 . 我使用NUnit代替MSTest

  • 126

    此页面列出了每个Visual Studio版本的.NET SDK . http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx

    如需较小的下载,请选择“开发人员包”或“定位包”,而不是完整的Windows SDK .

相关问题