代码之家  ›  专栏  ›  技术社区  ›  Jacques

ASP.NET网站DLL版本控制

  •  0
  • Jacques  · 技术社区  · 14 年前

    我们有一个dotnetnuke应用程序,为它构建了许多模块,最近似乎有一个特定的问题不断出现。

    1. 我们构建的模块使用Telerik的第三方DLL。
    2. 一些较旧的模块使用面向.NET 2.0的dll,而其他模块使用面向.NET 3.5的dll。
    3. 我们现在与旧的模块发生冲突,因为我们将3.5 dll加载到网站的bin目录中,这显然是因为以前的模块是根据以前的dll构建的。

    我们负担不起的是,回到所有以前的模块,更新这些项目,并在每次有轻微的DLL差异时重建它们,因为最终,DLL的两个版本做的是完全相同的事情。

    是否可以从项目中的引用中删除版本信息,以便它自动假定在使用它的项目中使用任何可用的版本?

    当做, 雅克

    2 回复  |  直到 14 年前
        1
  •  1
  •   driis    14 年前

    这可以通过使用 Assembly Binding Redirection . 基本上,在web.config中创建一个配置部分,它基本上说:“当请求程序集的这些版本时,使用这个特定的版本”。

        2
  •  0
  •   Prashant Lakhlani    14 年前

    无法从引用中删除版本信息。相反,您可以在web.config中使用bindingRedirect。基本上,正如它的名字所建议的是一个引用重定向器,当您的2.0模块搜索某个旧版本的telerik dll时,您可以将其重定向到新版本。

    只有当除了dll中的版本号之外的所有内容都不同时,此操作才有效。