【问题标题】:LibGit2Sharp versioning error MSBuildLibGit2Sharp 版本控制错误 MSBuild
【发布时间】:2015-03-02 09:15:05
【问题描述】:

我收到以下错误:

Error   17  System.IO.FileLoadException: Could not load file or assembly 
'LibGit2Sharp, Version=0.14.30212.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)
File name: 'LibGit2Sharp, Version=0.14.30212.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ---> 
System.IO.FileLoadException: A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)

我什至不使用 github,但似乎我需要有这个参考。

我尝试添加版本 14.0、14.1、15.0 和 21,但它们都抛出此错误。似乎它想要版本 14.30212.0 并且不会接受任何其他版本。我试图手动将版本 14.1 更改为 14.30212.0 并重建它,但由于我没有 .snk 或 .pfx 文件来签名,所以公钥不同,所以它不会接受该程序集要么。

我怎样才能完全删除这个引用(Microsoft.Teamfoundation.Build.Activities 也引用它),或者至少在哪里可以找到这个特定版本(在任何地方都找不到)。

【问题讨论】:

  • 我收到以下错误: -> 你什么时候收到这个错误?
  • 在构建包含 TfvcTemplate.12.xaml 文件的项目时。当我使用此构建过程对构建进行排队时,我从构建服务器收到以下错误:无法加载文件或程序集 'LibGit2Sharp, Version=0.14.30212.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。该系统找不到指定的文件。使用 IlSpy,我可以看到 Microsoft.Teamfoundation.Build.Activities 解析了 LibGit2Sharp.dll 引用,但版本不同。
  • @Pierre 你想达到什么目的?
  • 我必须创建一个编译过程来编译大约 500 个项目。我已将自定义活动添加到默认模板。该错误源于我修改的默认模板。 LibGit2Sharp 参考默认情况下就在那里,我根本没有改变它。在我使用该模板几周后,该错误只是随机出现。

标签: tfs msbuild tfsbuild libgit2sharp


【解决方案1】:

对不起,我想添加评论,但我没有足够的声誉。我想和你分享我有同样的问题。我发现这似乎是我使用 TFS 2015 CTP/VsoAgent 的一个错误

C:\Program Files\Microsoft Team Foundation Server 14.0\Tools 中的 LibGit2Sharp 版本与 VsoAgent 正在寻找的版本不同。在我的情况下,VsoAgent 正在寻找 Version=0.19.30619.0 但随 TFS CTP 2015 安装的版本是 0.17.XXX

此外,TFS 附带的 LibGit2Sharp 版本是自定义版本,因此如果您尝试将其替换为 GitHub 中的版本,则可能无法正常工作。

所以,我现在正在看这个。我的旧 Git 版本仍在 TFS 2015 上运行,但我目前无法创建 vNext :(

【讨论】:

  • 如果您找到解决此问题的方法,请告诉我!
  • 我也有兴趣解决这个问题。
  • @jrodrigv 请参阅下面的答案。您需要禁用强名称签名才能使其正常工作
【解决方案2】:

我终于搞定了。

我在自定义活动目录中使用 TFS 并删除了所有 Microsoft.Teamfoundation.* 文件。

我在构建项目时仍然遇到错误,但我只是在 xaml 文件的属性上将“构建操作”设置为“无”,因此它不会构建 xaml 文件。

构建服务器现在像以前一样执行,不会抛出缺少的程序集错误。

如果您有更好的解决方法,请随时发布,我会将其标记为答案:)

【讨论】:

    【解决方案3】:

    您应该禁用强名称签名才能在 VSO 中运行构建。如果您已经安装了 VS 2015 CTP,您应该在构建代理机器中使用以下命令来实现:

    C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\sn.exe -Vr *,*
    
    C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\x64\sn.exe -Vr *,*
    

    请注意开关 -Vr 区分大小写。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-14
      • 2021-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多