在所有 .Net 应用程序中使用相同的 dll 文件

Use Of Same dll file in all .Net Applications

我有 ConsoleApplication01、ConsoleApplication02、ConsoleApplication03 并使用 "Mydll.dll" 访问数据库。

我想使用 windows 服务将所有 "exes" 的所有控制台应用程序保存在一个文件夹中 运行。所以问题是,它要求将 "Introp.Mydll.dll" 替换到我的目标文件夹中。

替换此文件是否有效"Introp.Mydll.dll"。

如果它是完全相同的 dll(相同的二进制文件)则没有问题。

如果您为每个应用程序使用不同的版本(并且您很有可能应该或至少能够允许仅针对单个服务升级版本),您可以使用 GAC 机制。

GAC 是 .net 使用的大量 dll 的集中存储,其独特之处在于您可以发布许多具有相同名称但具有不同版本或不同全球化文化的 dll。这样您的 C# 服务将找到 dll 并从 GAC 自动加载它们,如果您只需要为一项服务升级 dll,您只需更改此引用以指向新的特定版本。

您可以在此处阅读有关 GAC 的信息: https://msdn.microsoft.com/en-us/library/yf1d93sz(v=vs.110).aspx

以及如何将程序集 (dll) 安装到 GAC 中: https://msdn.microsoft.com/en-us/library/dkkx7f79(v=vs.110).aspx