我有一个在用户计算机上调用的C#DLL。
他们安装了Microsoft .NET Framework 4.6.2但我的日志记录软件却引发了这个问题:
<LogEntry Date="2017-03-12 12:06:15" Severity="Exception" Source="MSAToolsLibrary.MSAToolsLibraryClass.UpgradeDatabase" ThreadId="1">
<Exception Type="System.NullReferenceException" Source="MSAToolsLibrary.MSAToolsLibraryClass.UpgradeDatabase">
<Message>Object reference not set to an instance of an object.</Message>
<StackTrace> at MSAToolsLibrary.MSAToolsLibraryClass.UpgradeDatabase()</StackTrace>
</Exception>
</LogEntry>
这是否意味着实际的MSAToolLibrary对象未在其计算机上正确注册,或者是否更直接指向UpgradeDatabase方法本身?
答案 0 :(得分:2)
该异常表明它起源于方法$('#loader').change(function() {
var a = this.files[0];
var reader = new FileReader();
reader.onload = function(e) {
var src = e.target.result;
var img = $("<img>");
img.on("load", function() { // Hook `load` first
var a = $(this).width(); // Get the width once loaded
console.log(a);
$("#imgt")[0].src = src; // Now set it on the image in the DOM
}).attr("src", src); // Set src AFTER hooking `load`
}
reader.readAsDataURL(a);
});
。因此该方法中有一些行会导致MSAToolsLibrary.MSAToolsLibraryClass.UpgradeDatabase()
以下代码将演示其工作原理
NullReferenceException
输出
未处理的异常:System.NullReferenceException:未将对象引用设置为对象的实例。
在Program.cs中的Program.Foo(Object arg):第2行 在Program.cs中的Program.Main():第6行