我正在编程(这是由其他人编写的),此程序是使用Visual Studio 2010用C#编写的。几乎所有内容都很好(除了一些逻辑问题),直到我尝试朗姆酒我的程序处于Release模式而不是Debug模式。该程序下载测试模块(PingTest.dll)并在计算机空闲时运行。调试版将所有文件存储在正在运行的文件夹中,同时发布版本“安装”到c:\ Users \ Macke \ AppData \ Local \ NetMon \中,并从那里重新运行(所有运行所需的文件也存储在那里)。所以当我运行NetMon.exe它崩溃。我添加了一些try/catch并发现错误:无法加载文件或程序集或其依赖关系之一。系统找不到指定的文件
无法加载文件或程序集'CountDow_Idle,版本= 1.0.0.2,Culture = neutral,PublicKeyToken = null'或其中一个依赖关系。该系统找不到指定的文件。
导致它的部分代码: AppDomain aDom = AppDomain.CreateDomain(“TestingDomain”); Assembly testAsm = null;
using (FileStream fs = File.Open(TMP_MOD_NAME, FileMode.Open))
{
using (MemoryStream ms = new MemoryStream())
{
byte[] buffer = new byte[1024];
int read = 0;
while ((read = fs.Read(buffer, 0, 1024)) > 0)
ms.Write(buffer, 0, read);
testAsm = aDom.Load(ms.ToArray());
}
}
INetMonTest iTest = null;
foreach (Type type in testAsm.GetExportedTypes())
{
if (type.BaseType.FullName == "CountDown_Idle.INetMonTest")
{
try
{
iTest = (INetMonTest)aDom.CreateInstanceAndUnwrap(AssemblyName.GetAssemblyName(TMP_MOD_NAME).FullName, type.FullName);
}
catch (Exception ex)
{
MessageBox.Show("AppDomain creation failed:\n\n" + ex.Message);
}
break;
}
}
我看了媒体链接为(在AssemblyInfo.cs文件)
所以莫比任何人都可以帮我正确的版本。 Thanx提前