代码之家  ›  专栏  ›  技术社区  ›  Matthew Dresser

通过不同的web应用程序共享相同的dll,而无需复制

  •  6
  • Matthew Dresser  · 技术社区  · 17 年前

    SharedLibrary.dll .

    我的[简化]目录结构如下:

    \root
         \Admin
               \web.config 
               \Addins
                      \AdminWebAppPage.aspx
                      \bin
                          \AdminWebApp.dll
                          \SharedLibrary.dll  <- this is the duplicated dll (I'd like to remove it from here ideally)
         \Websites
                  \MyWebsite
                            \webroot
                                    \web.config
                                    \MainWebPage.aspx
                                    \bin
                                        \MainWebsite.dll
                                        \SharedLibrary.dll
    
    4 回复  |  直到 17 年前
        1
  •  5
  •   Rytmis    17 年前

    如果在 Global Assembly Cache (GAC)

    澄清:当网站不相关时,最好保留每个网站的副本。显然,如果共享库发生更改,您希望主网站和管理网站都能获得更新的副本。 :-)

        2
  •  0
  •   n8wrl    17 年前

        3
  •  0
  •   Glen    17 年前

    如果你在Vista机器上,你可以考虑使用 NTFS symbolic link

    如果你是Vista之前的版本,但在Win2k或更高版本上 NTFS Junction Point

        4
  •  0
  •   this. __curious_geek    17 年前

    您可以将该DLL放在目录中,您希望在其中共享该DLL的所有web应用程序都具有读取权限。

    Assembly SampleAssembly;
    SampleAssembly = Assembly.LoadFrom("c:\\Sample.Assembly.dll");
    

    您还可以尝试使用Assembly_Resolve事件解析引用。

    推荐文章