【问题标题】:Refer .net reference without specific version number参考没有特定版本号的 .net 参考
【发布时间】:2023-03-27 10:55:01
【问题描述】:

我在我的 Windows 项目中将第 3 方 dll 称为参考。每当第三方发布 dll 时,我都会在代码中引用最新的 dll。发布我构建和部署代码的帖子。

我不能以某种方式引用没有版本的 dll 并简单地在生产中部署 dll 而无需构建吗?

不用说,这将首先通过替换非产品中的 dll 进行测试。

建议是否存在任何机制。

【问题讨论】:

  • 您可以动态加载程序集,并使用反射创建实例,但除非程序集为您提供已知的基本接口类型,否则您可以从可以引用的程序集中继续使用通过反射实例。
  • 对不起,我的意思是“已知的基本类型或接口”。

标签: c# .net windows .net-assembly


【解决方案1】:

我不能以某种方式引用没有版本的 dll 并简单地在生产中部署 dll 而无需构建吗?

您应该能够通过将<dependentAssembly> 元素添加到您的App.config 来做到这一点。请参阅documenation了解更多信息和详细信息。

来自 MSDN:

您可以手动编辑应用配置文件来解决程序集问题。例如,如果供应商可能会在不提供发布者策略的情况下发布您的应用程序使用的较新版本的程序集,因为他们不保证向后兼容性,您可以通过放置程序集绑定信息来指示您的应用程序使用较新版本的程序集在你的应用的配置文件中如下

<dependentAssembly>
    <assemblyIdentity name="someAssembly"  
    publicKeyToken="32ab4ba45e0a69a1"  
    culture="en-us" />
    <bindingRedirect oldVersion="7.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多