Luk*_*ett 192 c# asp.net-mvc portable-class-library
我正在准备一个全新的ASP.NET MVC 5.1解决方案.我正在添加一堆NuGet包,并与Zurb Foundation等进行设置.
作为其中的一部分,我添加了对内部NuGet包的引用,这是一个可移植类库,我认为这会导致构建服务器出现问题.
TeamCity失败了构建:
"System.Object"类型在未引用的程序集中定义.您必须添加对程序集'System.Runtime,Version = 4.0.0.0的引用
我最初在编译Razor网页时添加了相同或类似错误的修复程序,修复了该修复程序 web.config
<compilation ... >
  <assemblies>
    <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </assemblies>
</compilation>
但问题尚未解决.
Baa*_*ali 198
要实现此修复,请首先展开现有的web.config编译部分,默认情况下如下所示:
<compilation debug="true" targetFramework="4.5"/>
扩展后,我按照指示添加了以下新配置XML:
  <assemblies>     
    <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />   
  </assemblies>
最终的web.config标记应如下所示:
<compilation debug="true" targetFramework="4.5">
  <assemblies>     
    <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />   
  </assemblies>
</compilation>
Luk*_*ett 120
添加对此System.Runtime.dll程序集的引用修复了此问题:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Facades\System.Runtime.dll
虽然构建服务器上不存在该显式路径中的该文件.
一旦我在PCL和这些Facades上找到了一些文档,我将回复更多信息.
更新
在整个互联网上的外观装配上几乎没有任何东西.
谷歌:
(Facades OR Facade) Portable Library site:microsoft.com
Lor*_*ita 27
唯一对我有用的方法.将程序集添加到web.config
<compilation debug="true" targetFramework="4.5">
  <assemblies>     
    <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />   
  </assemblies>
</compilation>
sfu*_*qua 26
@ PeterMajeed在接受的答案中的评论帮助我解决了相关问题.我没有使用可移植的库,但在新的Windows Server 2012安装上遇到了相同的构建错误,我正在运行TeamCity.
安装Microsoft .NET Framework 4.5.1 Developer Pack解决了这个问题(在单独安装MS Build Tools之后).
我在VS 2015的某些解决方案中遇到了这个问题(虽然不是MVC),甚至在一个工作站上的相同解决方案中也没有在另一个工作站上.将.NET版本更改为4.6并引用PCL后,出现错误.
解决方案很简单:关闭解决方案并删除与解决方案相同的文件夹中隐藏的.vs文件夹.
按照其他答案中的建议添加缺少的引用也可以解决问题,但即使再次删除引用后错误仍然会解决.
至于TeamCity,我不能说因为我的配置从来没有问题.但请确保您将工作目录重置为调试工作的一部分.
这是一个老问题,但我今天面对它是为了修复我们的持续集成服务器上的构建管道。添加
<Reference Include="System.Runtime" />
到我的.csproj文件为我解决了这个问题。
一点上下文:感兴趣的项目是一个完整的 .NET Framework 4.6.1 项目,在开发机器上没有构建问题。问题只出现在构建服务器上,我们无法控制,可能是由于不同的SDK版本或类似的东西。
添加建议<Reference解决了构建错误,代价是Visual Studio 中缺少引用警告(引用树中添加的条目上的黄色三角形)。
| 归档时间: | 
 | 
| 查看次数: | 156339 次 | 
| 最近记录: |