程序集通过%PATH%环境搜索路径
本文关键字:搜索 路径 环境 %PATH% 程序集 | 更新日期: 2023-09-27 17:48:58
我正在开发一个项目,并希望从项目文件夹中分离共享程序集
+ Program Files
+ My Company
+Commons
* Assembly1.dll
* Assembly2.dll
* Assembly3.dll
* Assembly4.dll
+Project1
* MyProject1.exe
* MyProject1.exe.config
+Project2
* MyProject2.exe
* MyProject2.exe.config
试图让项目从"Commons"文件夹加载程序集,所以我更改了系统%PATH%环境来搜索dll。
%PATH% = c:'Program files'My Company'Commons;%PATH%
但是它们不查找Path环境(使用ProcessMonitor进行监控)谁能告诉我如何从% path %环境中定义程序集的搜索路径?
string path = System.Environment.GetEnvironmentVariable("Path");
var folders = path.Split(';');
foreach (var folder in folders)
{
foreach (var file in Directory.GetFiles(folder, "*.*"))
{
// found files
}
}
在应用程序启动时,在AppDomain.AssemblyResolve
事件中执行搜索以查找dll。更多活动信息请点击:http://msdn.microsoft.com/en-us/library/system.appdomain.assemblyresolve.aspx
我不相信dotNET在绑定程序集时依赖于路径环境变量。
参见http://ondotnet.com/pub/a/dotnet/2003/03/17/bindingpolicy.html获取dotNET绑定策略。
你可能会发现这个元素在这里很有用:http://msdn.microsoft.com/en-us/library/efs781xb%28v=VS.100%29.aspx