Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 打开文件时在NPOI中引发异常,但仅在发布模式下引发_C#_Android_Xamarin_Exception_Npoi - Fatal编程技术网

C# 打开文件时在NPOI中引发异常,但仅在发布模式下引发

C# 打开文件时在NPOI中引发异常,但仅在发布模式下引发,c#,android,xamarin,exception,npoi,C#,Android,Xamarin,Exception,Npoi,我刚刚创建了一个类,可以将Excel文件转换为C#对象列表。我目前正在Xamarin.Android上工作。 在调试模式下一切正常,文件正确打开。 但当我切换到释放模式时,它只是崩溃,没有任何异常消息,但只有stacktrace(我不理解:s) 我相信我的权限设置正确,我在应用程序设置中检查了它们 我尝试了一个Windows应用程序,它可以工作 我试图更改文件的位置,但没有更改 try { book = new XSSFWorkbook(filePath.GetStream()); }

我刚刚创建了一个类,可以将Excel文件转换为C#对象列表。我目前正在Xamarin.Android上工作。 在调试模式下一切正常,文件正确打开。 但当我切换到释放模式时,它只是崩溃,没有任何异常消息,但只有stacktrace(我不理解:s)

我相信我的权限设置正确,我在应用程序设置中检查了它们

我尝试了一个Windows应用程序,它可以工作

我试图更改文件的位置,但没有更改

try
{
     book = new XSSFWorkbook(filePath.GetStream());
}
catch (Exception e) // Exception without message
{
    onResult(new SyncProductsSummary(false, 0, 0, e));
    return;
}
GetStream工作得很好,我得到了实际的文件大小,我也尝试不使用它,但是通过将文件路径作为字符串,没有任何改变

try
{
     book = new XSSFWorkbook(filePath.GetStream());
}
catch (Exception e) // Exception without message
{
    onResult(new SyncProductsSummary(false, 0, 0, e));
    return;
}
这是我得到的stacktrace:

如果图像不起作用(我不知道如何使用):

如果它在调试配置中工作,而不是在发布配置中工作,则可能是由于链接器设置。如前所述,您的发布配置可能试图“链接所有”,这将需要链接器配置才能使用。尝试使用其他两个设置之一

  • 微软安卓文档:

  • MS iOS文档:

如果不熟悉,可以在项目生成设置中找到这些设置


尝试将发布模式的链接器设置更改为“不链接”或“仅链接框架”@Jason将链接方法更改为“不链接”效果不错,但我的APK不是61Mo。我想我应该看看下面的答案。非常感谢。