我已经搜出了这个问题,但是当文件清楚存在并且可以使用File.ReadAllBytes
这是我目前的代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我试图从插件文件夹中加载所有.dll文件,并加载一堆属性类型和函数。
使用Assembly.LoadFrom(file.FullName)时,加载属性类型和函数的工作文件。但是,pluginDomain.Load(assemblyBytes)会导致以下异常:
<script>
$(function () {
$("#id_part_pay").next('span').hide();
$("#id_part_pay").keyup(function () {
var input = $(this).val();
var v = input % 10;
var span = $(this).next('span');
if (v !== 0) {
span.text("Enter Percentage in multiple of 10").show();
return;
}
if (input < 20 || input > 100) {
span.text("Percentage should be between 20 - 100").show();
return;
}
span.text('').hide(); //Clear Text and hide
});
});
</script>
它肯定会找到指定的文件,因为File.ReadAllBytes可以正常工作,因为异常会显示我尝试加载的程序集的全名。因此我得出结论,它无法加载依赖。
所有依赖项都已加载到CurrentDomain中。虽然,即使我将这些依赖项放在.dll旁边(这在所述.dll的构建过程中发生),也会产生同样的异常。
当文件明确存在时,为什么会出现此异常?