我有一个用于工作的应用程序(对不起,专有代码,所以我不能分享很多。)是在Win7上使用VS2015 C#编写的。它可以在我的PC上正常运行(应该如此),但是在部署它时,并不是所有其他机器都能正常反应。
它最初是为.NET 4.5.2编写的,后来又移至.NET 4.6.2,但仍然遇到相同的问题。它会安装并开始运行,但是会立即在某些计算机上发出启动异常,而其他计算机则不会出现问题。
正如我所说,并不是每台安装的机器都发生这种情况。 (计算机上的当前映像具有.NET 4.6.2或4.7)到目前为止,我的解决方法是卸载当前安装的版本后,一直返回到4.5并逐步安装每个新版本,这显然清除了问题。 (我通常会在完成时确保它是4.7或4.7.1。)当然,这会消耗时间(大约一个小时)。
因此,我需要的是更好地理解为什么某些机器而不是其他机器受到影响。更重要的是,我应该重点关注哪些区域以查找可能导致问题的故障所在。这样,我可以使其他人更容易修复或更好,而无需修复安装。
抛出未设置为对象异常实例的Object引用的方法是:
// ORIGINAL SOURCE: http://www.codeproject.com/Articles/63147/Handling-database-connections-more-easily
// ORIGINAL ARTICLE: Handling database connections more easily
// ORIGINAL AUTHOR: Alaric Dailey
// PUBLISHED: 2011/07/11
//
// LICENSE: CPOL 1.02 - http://www.codeproject.com/info/cpol10.aspx
private string QuoteSuffix
{
get
{
// Create it if it doesn't already exist
if (string.IsNullOrEmpty(quotePrefix))
{
quoteSuffix = CommandBuilder.QuoteSuffix;
if (string.IsNullOrEmpty(quoteSuffix))
quoteSuffix = "\"";
quoteSuffix = quoteSuffix.Trim();
}
// send it out
return (quoteSuffix);
}
}
我认为由于某种原因,CommandBuilder在无法运行的安装中未正确初始化。 (代码被编译为构建的一部分,而不是库或DLL)