有没有办法创建一个允许其依赖项升级的NuGet包?

时间:2017-05-04 16:01:54

标签: c# nuget nuget-package

去年,我创建了一个包含单个DLL的NuGet包,并且对DocumentFormat.OpenXml NuGet项目版本2.5.0具有单一依赖性。从那时起,DocumentFormat.OpenXml已经升级。如果有人试图将DocumentFormat.OpenXml升级到最新版本,我的代码将抛出以下错误:

Could not load file or assembly 'DocumentFormat.OpenXml, Version=2.5.5631.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its 
dependencies. The located assembly's manifest definition does not match 
the assembly reference. (Exception from HRESULT: 0x80131040)

我已经尝试将我的项目的AutoGenerateBindingRedirects设置为true并将dll的“特定版本”设置为false,但是它既没有帮助我的NuGet包的用户。是的,他们可以在他们的配置文件中放入bindingRedirect并手动告诉它使用其他东西或运行PM命令(Get-Project -All | Add-BindingRedirect),但我试图找到一种自动化方法,以便他们的用户无需处理它。

如果你去NuGet网站,他们会花很多时间讨论如何调整你的NuSpec文件以允许不同的版本,但我找不到任何关于如何让你的代码接受多个版本的指导或如何自动为用户创建bindingRedirect。

0 个答案:

没有答案