我在项目中有以下代码,它在我的机器上工作正常,但是当我在我的测试机上运行它时,它崩溃了方法plugin.GetTypes()。然而,装配正确加载。
DirectoryInfo di = new DirectoryInfo(path);
var files = di.GetFiles(dllName, SearchOption.TopDirectoryOnly);
foreach (var file in files) {
Assembly plugin = Assembly.LoadFrom(file.FullName);
try
{
foreach (Type pluginType in plugin.GetTypes()) {
// dealing with pluginTypes...
}
}
catch (Exception ex) {
MessageBox.Show(ex.Message);
} }
问题是我没有使用Visual Studio选项调试代码。我试过了
try {
var temp = plugin.GetTypes();
}
catch (Exception ex) {
MessageBox.Show(ex.Message);
}
但它永远不会捕获任何异常,它总是崩溃。在那台机器上,我使用相同的完整调试文件夹来运行应用程序。
答案 0 :(得分:0)
似乎问题是一个引用确实没有设置为CopyLocal。感谢Hellix 88。