我最近在构建服务器中构建的应用程序中添加了一些自定义的可移植类库项目.构建工作正常,但在此之后它停止工作并向我显示以下消息:
C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(983,5):警告MSB3644:框架".NETPortable,Version = v4.0,Profile = Profile136"的引用程序集不是找到.
C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5):警告MSB3270:正在构建的项目的处理器体系结构"MSIL"与处理器体系结构之间存在不匹配引用"C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll","AMD64".
错误CS0234:命名空间"系统"中不存在类型或命名空间名称"Linq"(您是否缺少程序集引用?)
构建服务器规范:
Windows Server 2008 R2标准版
TeamCity 8.0.4
.NET 4.5
便携式类库工具(如建议在这里)
Silverlight 5 SDK
该解决方案是.NET 4.0应用程序,可移植项目仅针对.NET4.0 + e Silverlight 5.
我检查了我的开发机器(Windows 8,Visual Studio 2012).确实有一个文件夹"C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework.NETPortable\v4.0\Profile\Profile136"(事实上,.NET 4.0的配置文件最多可达158).但是,在构建计算机中,只有最多131个配置文件的文件夹.
便携式类库工具是最新的吗?它似乎错过了为最新平台安装配置文件.
UPDATE
我将开发机器的".NETPortable\v4.0\Profile\Profile136"复制到构建服务器,现在应用程序已成功构建.我仍然想知道为什么安装Portable Class Library Tools不能开箱即用.