PostSharp不在TeamCity上构建:找不到程序集mscorlib [英] PostSharp not building on TeamCity: Cannot find assembly mscorlib

查看:79
本文介绍了PostSharp不在TeamCity上构建:找不到程序集mscorlib的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

PostSharp将在本地开发机上构建,而不会在TeamCity服务器上构建,错误是:

PostSharp will build on local dev machine, it will not build on the TeamCity server, the error is:

unknown error PS0264: Cannot find assembly 'mscorlib, version=2.0.5.0, culture=neutral, publickeytoken=7cec85d7bea7798e'.

以下是构建日志的摘录:

Here is an excerpt from the build log:

[13:38:22][PostSharp30] Merging assembly binding policy files.
[13:38:22][PostSharp30] Executing "C:\ProgramData\PostSharp\5.0.43\bin.Release\postsharp-net40-x86-native.exe" <REMOVED SENSITIVE INFORMATION>
[13:38:25][PostSharp30] unknown : verbose PS0265: Detailed log for the next error:
[13:38:25][PostSharp30] unknown : verbose PS0265: LOG: Finding reference assembly with binding identity 'mscorlib, version=2.0.5.0, culture=neutral, publickeytoken=7cec85d7bea7798e' in the Reference context.
[13:38:25][PostSharp30] unknown : verbose PS0265: LOG:  Found file 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll', identity='mscorlib, version=4.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089', ProcessorArchitecture=NoPlatform.
[13:38:25][PostSharp30] unknown : verbose PS0265: LOG:  Reference mismatch for 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll' [PublicKeyMismatch].
[13:38:25][PostSharp30] unknown : verbose PS0265: LOG:  Found file 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll', identity='mscorlib, version=4.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089', ProcessorArchitecture=NoPlatform.
[13:38:25][PostSharp30] unknown : verbose PS0265: LOG:  Reference mismatch for 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll' [PublicKeyMismatch].
[13:38:25][PostSharp30] unknown : verbose PS0265: LOG:  Found file 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll', identity='mscorlib, version=4.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089', ProcessorArchitecture=NoPlatform.
[13:38:25][PostSharp30] unknown : verbose PS0265: LOG:  Reference mismatch for 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll' [PublicKeyMismatch].
[13:38:25][PostSharp30] unknown : verbose PS0265: LOG:  The assembly 'mscorlib, version=2.0.5.0, culture=neutral, publickeytoken=7cec85d7bea7798e, retargetable=yes' was not found.
[13:38:25][PostSharp30] unknown : verbose PS0265: .
[13:38:25][PostSharp30] unknown error PS0264: Cannot find assembly 'mscorlib, version=2.0.5.0, culture=neutral, publickeytoken=7cec85d7bea7798e'. [Public key mismatch]. Build your project with detailed verbosity to see the assembly loading log.
[13:38:25][PostSharp30] C:\BuildAgent\work\be9df088c843a629\src\packages\PostSharp.5.0.43\build\PostSharp.targets(314, 5): The process C:\ProgramData\PostSharp\5.0.43\bin.Release\postsharp-net40-x86-native.exe exited with code 11.
[13:38:25][Step 4/5] Process exited with code 1

更新

在C:\ ProgramData \ PostSharp \ InstalledFrameworks中比较文件(本地服务器与构建服务器)之后,我可以看到我的本地计算机具有以下其他框架:

Update

After comparing file (local vs build server) in C:\ProgramData\PostSharp\InstalledFrameworks, I can see that my local machine has these additional frameworks:

  <Framework Identifier=".NETFramework" Version="4.7.1">
    <ReferenceAssemblies>
      <Directory Location="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.1\" />
    </ReferenceAssemblies>
  </Framework>
  <Framework Identifier=".NETPortable" Version="4.0">
    <ReferenceAssemblies>
      <Directory Location="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\" />
    </ReferenceAssemblies>
  </Framework>
  <Framework Identifier=".NETPortable" Version="4.5">
    <ReferenceAssemblies>
      <Directory Location="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\" />
    </ReferenceAssemblies>
  </Framework>
  <Framework Identifier=".NETPortable" Version="4.6">
    <ReferenceAssemblies>
      <Directory Location="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.6\" />
    </ReferenceAssemblies>
  </Framework>
  <Framework Identifier=".NETPortable" Version="5.0">
    <ReferenceAssemblies>
      <Directory Location="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v5.0\" />
    </ReferenceAssemblies>
  </Framework>

推荐答案

构建服务器需要Microsoft .NET可移植库参考程序集4.6:

The build server required Microsoft .NET Portable Library Reference Assemblies 4.6:

  1. 下载和安装 Microsoft .NET便携式库参考程序集4.6
  2. C:\ Program Files(x86)\ Microsoft .NET可移植库参考程序集4.6 \ PortableReferenceAssemblies.zip 提取到 C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \Framework \ .NETPortable \

注意:文件夹".NETPortable"的字符大小写必须与定义相同.使用mkdir创建以句点符号开头的文件夹.

Note: Character casing of the folder ".NETPortable" must be as defined. Use mkdir to create folders starting with a period symbol.

这篇关于PostSharp不在TeamCity上构建:找不到程序集mscorlib的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆