应用程序在没有附加调试器的情况下运行时在某个时刻崩溃?c#



我有一个小应用程序,它在没有调试器的情况下正常启动,除了使用IronOcr(来自NuGet包管理器的包(之外,所有功能都可以工作。当我尝试使用这个功能时,程序就会关闭。

当我在visualstudio中启动这个应用程序时,一切都很好。没有错误,所有功能都正常工作。如果我运行它并在之后将调试器附加到它,我会得到相同的结果。但是,如果我通过启动exe/bin/release运行exe,并且没有附加调试器,当我尝试使用涉及IronOcr的功能时,它会崩溃。

我在虚拟机上测试了这个,使用/不使用调试器都得到了相同的结果。然后我在另一台计算机上测试了它(新安装的windows只安装了VS(,如果附加了调试器,它会给我这个错误:

System.IO.FileNotFoundException:"无法加载文件或程序集"IronOcr,版本=2021.2.1.0,>Culture=neutral,PublicKeyToken=c2cbcea5ea3f6d8d'或其依赖项之一。系统不能>查找指定的文件

过去几天我一直在寻找原因,但到目前为止,我还没有找到解决问题的方法。

最让我困惑的是:

我认为导致程序关闭的错误与导致它在不同电脑上出现此错误的错误相同。当我通过VS运行它时,它没有问题(它找到了文件?(,但从exe运行它时它找不到文件。我没有移动exe,只是在bin/release中的位置运行它。

我希望这个程序能够作为一个独立的exe运行。

我对c#和VS还比较陌生,错误可能非常明显,或者我可能用错了词,导致我找不到解决方案。

可能有点太晚了,但你的问题肯定来自于你使用IronOCR的免费许可证。似乎只有当附加了调试器时,这个才有效。如果你发现了异常,你会得到这样的消息:

IronSoftware.Licenses.Exceptions.LicensingException:IronOcr必须许可在VisualStudio开发之外进行部署环境https://ironpdf.com/licensing

在我看来,这对于正确的评估来说太过限制,所以我放弃了尝试使用它。

确保IronOcr.dll和您的可执行文件位于同一目录中。

尝试从Bin/Debug执行应用程序,看看它是否正常运行。

检查IronOcr.dll是否存在于Bin/Debug中,但不存在于Bin/Release中。如果是,则将其从Bin/Debug复制到Bin/Release。

相关内容

  • 没有找到相关文章

最新更新