我正在C#中构建代理服务,以便与安装在主机上的SCVMM进行通信。为此,代理引用以下程序集:Microsoft.SystemCenter.VirtualMachineManager.dll和Erros.dll等。
在visual studio dev环境中,我添加了对代理应用程序的引用。当我构建调试/发布模式时,基本上我没有将上面的程序集复制到调试/发布目录,因为代理将分发给客户。基本上代理应用程序与SCVMM通信,必须在安装代理应用程序之前安装SCVMM。
我不明白的一件事是如何让代理服务引用已存在<SCVMM root>/bin
文件夹的Microsoft.SystemCenter.VirtualMachineManager.dll等文件。
答案 0 :(得分:1)
在visual studio中正常引用并在调用dll调用中的任何方法之前:
AppDomain.CurrentDomain.AppendPrivatePath(scvmmroot + "/bin");
您也可以在yourapp.exe.config
文件中执行此操作(请参阅Set Custom Path to Referenced DLL's?)但由于您的路径与可执行文件无关,这意味着在安装程序中生成.config
文件。