打开文件时在 NPOI 中抛出异常,但仅在发布模式下
Exception thrown in NPOI while opening a file, but only in release mode
我刚刚制作了一个 class,可以将 Excel 文件转换为 C# 对象列表。我目前正在研究 Xamarin.Android。
在调试模式下一切正常,文件打开正确。
但是当我更改为发布模式时,它只是崩溃而没有任何异常消息,但只有堆栈跟踪(我不明白:s)
我相信我的权限设置正确,我在应用程序设置中检查了它们。
我尝试使用 Windows 应用程序,它有效。
我尝试更改文件的位置,但没有任何改变。
try
{
book = new XSSFWorkbook(filePath.GetStream());
}
catch (Exception e) // Exception without message
{
onResult(new SyncProductsSummary(false, 0, 0, e));
return;
}
filePath.GetStream 工作得很好,我得到了实际的文件大小,我也尝试不使用它,但是通过将文件路径作为字符串,没有任何改变。
这是我得到的堆栈跟踪:
如果图像不起作用(我不确定如何使用它):
https://pasteboard.co/IgbV96W.jpg
如果它在调试配置中工作,但在发布配置中不工作,则可能是由于链接器设置所致。就像提到的 Jason 一样,您的发布配置可能正在尝试 "Link All",这需要链接器配置才能使用。尝试使用其他两个设置之一。
MS Android 文档:https://docs.microsoft.com/en-us/xamarin/android/deploy-test/linker
MS iOS 文档:https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/linker
如果您不熟悉,可以在您的项目构建设置中找到这些设置。
我刚刚制作了一个 class,可以将 Excel 文件转换为 C# 对象列表。我目前正在研究 Xamarin.Android。 在调试模式下一切正常,文件打开正确。 但是当我更改为发布模式时,它只是崩溃而没有任何异常消息,但只有堆栈跟踪(我不明白:s)
我相信我的权限设置正确,我在应用程序设置中检查了它们。
我尝试使用 Windows 应用程序,它有效。
我尝试更改文件的位置,但没有任何改变。
try
{
book = new XSSFWorkbook(filePath.GetStream());
}
catch (Exception e) // Exception without message
{
onResult(new SyncProductsSummary(false, 0, 0, e));
return;
}
filePath.GetStream 工作得很好,我得到了实际的文件大小,我也尝试不使用它,但是通过将文件路径作为字符串,没有任何改变。
这是我得到的堆栈跟踪:
如果图像不起作用(我不确定如何使用它): https://pasteboard.co/IgbV96W.jpg
如果它在调试配置中工作,但在发布配置中不工作,则可能是由于链接器设置所致。就像提到的 Jason 一样,您的发布配置可能正在尝试 "Link All",这需要链接器配置才能使用。尝试使用其他两个设置之一。
MS Android 文档:https://docs.microsoft.com/en-us/xamarin/android/deploy-test/linker
MS iOS 文档:https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/linker
如果您不熟悉,可以在您的项目构建设置中找到这些设置。