我有ConsoleApplication01,ConsoleApplication02,ConsoleApplication03并使用" Mydll.dll"用于访问数据库。
我想保留所有" exes"使用Windows服务运行一个文件夹中的所有控制台应用程序。所以问题是,它要求更换" Introp.Mydll.dll"进入我的目标文件夹。
是否可以通过替换此文件" Introp.Mydll.dll"。
答案 0 :(得分:1)
如果它完全相同的dll(相同的二进制)比没有问题。
如果您为每个应用程序使用不同的版本(并且您很有可能,或者至少能够允许仅为单个服务升级版本),则可以使用GAC机制。
GAC是.net使用的很多dll的集中存储,它的独特之处在于你可以发布许多具有相同名称的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