使用C#,VS2012,Windows Server 2012r2
我做了一些search,我想我已经知道答案,但希望有人能让我知道,如果我是正确的。
我有一个在bin文件夹中有一个DLL的网站。 我也有几个可执行的工具按需或按计划运行,几乎所有的人都使用相同的dll作为wesbite。 或者说,他们使用驻留在每个exe文件夹中的dll副本。
这是相当麻烦,因为任何时候我更新该网站的DLL,所有这些exe文件现在使用的是旧版本的DLL。 所以我想如果我可以指向所有的exe的网站bin文件夹,并在那里使用dll。
如果可能,我宁愿不修改Windows PATH值。 如果是这样,它看起来将需要使用一个称为LoadLibrary的函数? 我几乎没有任何Windows编程,所以我不熟悉这一点。 这是唯一(或最好)的方式来做到这一点?
我发现了这篇博文: http : //blogs.msdn.com/b/jonathanswift/archive/2006/10/03/dynamically-calling-an-unmanaged-dll-from-.net-_2800_c_23002900_.aspx
我只是创buildNativeMethods类,然后调用每个方法/函数我需要调用GetProcAddress?
我希望有一种方法,基本上只是告诉EXE在app.config中查找特定的文件夹中的DLL。 这不可能吗?
谢谢
好像你的DLL是一个托管的DLL(建立在.net上),因为你说你很难做任何的Win32 API编程。
一个解决方案是在GAC中安装您的DLL。 然后,每次更新DLL程序集版本并将其部署到GAC时,都必须重定向您的应用程序以使用最新版本。 看到这个