gpt4 book ai didi

c# - 引用中断控制台应用程序在其他机器上运行

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:31 26 4
gpt4 key购买 nike

我制作了一个控制台应用程序,它将数据插入 MySql 后端,并从硬盘读取序列号

为此,我必须将 References 添加到 MySql.Data 和 System.Managment。

我运行它的方式是从 visual studio 复制 Debug 目录(我认为这是问题所在)并在另一台机器上运行 .exe 文件。当我在另一台机器上运行应用程序时,堆栈跟踪错误是:

PhDD >C:\Users\User\File\Indexer\WMI\Debug
Your key: 634685018347902535133
Exception getting SMART Object: reference not set to an instance of an object.
Exception in main thread: at System.ThrowHelper.ThrowArgumentOutOfRangeExcept
ion()
at System.Collections.Generic.List`1.get_Item(Int32 index)
at WMITest.Menu.Run() in C:\Users\fps700\Music\WMITest\Menu.cs:line 49
Updated HDD Stats at28/03/2012 18:46:57

我是否认为这个问题是由于引用引起的?我通过在另一台机器上重新编译相同的代码来检查这些方法,当通过 VS 添加引用时,它可以工作。

谁能指导我如何解决这个问题?为阅读干杯。

附言我尝试添加引用路径(通过右键单击项目,选择选项,然后选择引用路径并添加两个 dll 文件)

第 49 行bool conversion = int.TryParse(smartData[1].ToString(), out temp);

在添加一个假的 int 值以确保转换不是错误之后,新的堆栈跟踪错误是:

PhDD >C:\Users\bborisov\Dropbox\Indexer\WMI\Debug
Your key: 634685018347902535133
Exception getting SMART Object reference not set to an instance of an object.
Exception in main thread: at System.ThrowHelper.ThrowArgumentOutOfRangeExcept
ion()
at System.Collections.Generic.List`1.get_Item(Int32 index)
at WMITest.Menu.Run() in C:\Users\fps700\Music\WMITest\Menu.cs:line 53
Updated HDD Stats at28/03/2012 19:00:24

第 53 行:

DBHandler.insertData(smartData[0].Trim(),
3, smartData[2], file.getKey());

最佳答案

放入代码以检查可能发生在客户端电脑上但不是开发电脑上的错误情况的有效性。您可以通过抛出异常或以更好的方式优雅地处理错误来处理错误。

这是检查错误情况的代码

if (smartData == null)
throw new Exception("Smart data is null; aborting");

if (smartData.Any() == false)
throw new Exception("Smart data instance is valid but has no elements; aborting");

bool conversion = int.TryParse(smartData[1].ToString(), out temp);

关于c# - 引用中断控制台应用程序在其他机器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9913049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com