C# 我是否可以更改已引用的DLL';这条路怎么走?
我正在寻找一种无需使用C# 我是否可以更改已引用的DLL';这条路怎么走?,c#,.net,dll,.net-assembly,C#,.net,Dll,.net Assembly,我正在寻找一种无需使用Assembly.LoadFrom或或.Load即可更改DLL路径的方法 我无法更改代码,它已经引用了DLL的名称空间.Class.Method。有没有办法更改该DLL的路径并告诉.net使用新路径查找它?新的路径是已知的,所以我只需要一个指向它的方法 任何帮助都将不胜感激 提前感谢您。如果路径已经硬编码,我看不出您如何在不编辑代码的情况下更改路径,但可能还有另一种选择: 如果在全局程序集缓存(“GAC”)中有正确的dll文件(正确的名称和版本号,由.net引用),则.ne
Assembly.LoadFrom
或或.Load
即可更改DLL路径的方法
我无法更改代码,它已经引用了DLL的名称空间.Class.Method
。有没有办法更改该DLL的路径并告诉.net使用新路径查找它?新的路径是已知的,所以我只需要一个指向它的方法
任何帮助都将不胜感激
提前感谢您。如果路径已经硬编码,我看不出您如何在不编辑代码的情况下更改路径,但可能还有另一种选择: 如果在全局程序集缓存(“GAC”)中有正确的dll文件(正确的名称和版本号,由.net引用),则.net可能会从那里加载它 我是说它可能会这样做,因为如果直接从代码显式加载dll,我不确定这是如何工作的。但是,如果程序集只是以正常方式由名称/命名空间引用
也许值得一试。您可以在以下位置找到您的GAC:
%windir%\Microsoft.NET\assembly
它是如您所说的那样引用的。我要做的就是让.NET搜索我指定的目录。我希望这是有意义的。在这种情况下,我怀疑不改变源代码也能做到。太糟糕了,它是硬编码的-在配置文件中指定它可能是一个更好的主意,可以更容易地进行更改…如何在配置文件中指定它?对不起,我是个新手。同样,你必须更改源代码;如果您定义某种配置文件(例如,app.config
),您可以从那里读取路径,并将其作为变量传递给.Net(Assembly.LoadFrom),而不是硬编码;但是如果正如你所说,你不能更改代码,那么这对你没有帮助,对不起!