Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我是否可以更改已引用的DLL';这条路怎么走?_C#_.net_Dll_.net Assembly - Fatal编程技术网

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),而不是硬编码;但是如果正如你所说,你不能更改代码,那么这对你没有帮助,对不起!