如何加载本地构建程序集以进行调试?

时间:2017-11-02 17:47:22

标签: c# visual-studio nuget sharpdx

我需要调试SharpDX以了解我的应用程序中发生了什么 - 我的项目通过另一个NuGet包的引用来使用它。由于第一个包使用PublicKeyToken引用它,即使我已经构建了相同版本的SharpDX并将SharpDX引用从NuGet切换到本地程序集,我的项目也不会构建,因为它似乎需要一个签名版本的SharpDX。我在构建过程中收到的错误消息是:

  

错误CS0012:类型“TextLayout”在未引用的程序集中定义。您必须添加对程序集'SharpDX.Direct2D1,Version = 3.1.1.0,Culture = neutral,PublicKeyToken = b4dcf0f35e5521f1'的引用。

我用相同的版本(3.1.1.0)构建了这个程序集但是我没有签名(我假设我不能这样做,因为repo不包含密钥文件)。

有没有办法解决这个问题,我如何使引用SharpDX的NuGet包加载本地构建的程序集?

我找到this并尝试关闭该公钥令牌的强名称验证,保留引用(项目仍然引用SharpDX NuGet包)并替换二进制文件然后运行应用程序。它在运行时仍然失败:

  

消息:无法加载文件或程序集'SharpDX.Direct2D1,Version = 3.1.1.0,Culture = neutral,PublicKeyToken = b4dcf0f35e5521f1'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)

但是这与链接中给出的强名称的显式错误不匹配。为了验证版本,我用ildasm打开了构建程序集,版本是完整的:

enter image description here

0 个答案:

没有答案
相关问题