需要一个C#程序集来松散地引用一个强命名的程序集

所以这就是问题所在。 我正在写一些StyleCop插件组件,供我工作的公司使用。 因此,这些程序集需要引用Microsoft.StyleCop.CSharp.dll,例如强名称。

问题在于,如果我构建它并将其传递给我的组中的开发人员,则它们必须具有相同版本的StyleCop dll(当前为4.3.3.0)或者无法加载。

使我的附加规则DLL更独立的最佳方法是什么? 我应该在GAC中安装我的4.3.3.0版本的那些从属StyleCop dll吗? 程序集(与应用程序)可以使用策略文件吗?

哦,其中一个主要问题是我希望它可以与客户安装的任何版本的StyleCop(或至少4.3.3.0或更高版本)一起使用。

提前谢谢了。

是的,您应该为其他开发人员安装相同的版本。 如果不这样做,由于StyleCop中的更改,您可能会遇到不可预测的运行时故障。 据推测,这就是他们为增加版本号而烦恼的原因。

如果您不想这样做,可以在app.config文件中配置不同的程序集绑定。 在配置中,您需要在运行时使用的实际版本号。 是的,这甚至可以通过政策来完成。 但同样,我认为通过首先包含正确的DLL可以提供更好的服务。

在项目中,转到StyleCop参考上的属性。 尝试将“特定版本”属性设置为false。