我收到的错误似乎只发生在运行Windows Server 2012的计算机上。我的应用程序是为.NET 4.0环境编写的。我的假设是.NET 4.5中的某些东西与我的应用程序不能很好地兼容。我没有其他想法。
该应用程序旨在创建PDF文件。它将通过调用自身的多个实例来完成此操作。主应用程序将调用另一个EXE文件,其中包含一组参数,用于指示要创建的PDF文件。
通过这种方式,我们可以调用多个EXE文件,从而加快进程。出于测试目的,我可以通过更改设置禁用对外部程序的调用,这将使用相同的程序创建所有PDF文件,只是更慢。
PDF文件将保存到本地硬盘上。用户应该可以访问所有本地驱动器和所有管理员权限。没有隐藏的文件夹。
一旦主应用程序调用自身的新实例,它就会崩溃。见下图。它既不能使用EXE文件,也不能写入本地驱动器。我不确定哪个;如果我需要创建一个日志,那么我可以确定应用程序是否无法调用EXE文件或者应用程序是否无法写入本地驱动器。
但是,如果我以管理员身份运行相同的应用程序,它会正确运行。从长远来看,以管理员身份运行不是一个可行的解决方案。这让我觉得这不是一个真正的.NET问题。
另一件事,如果我更改设置以在内部创建所有PDF文件,它将正确运行。这不需要提升权限。这证明用户应该可以访问驱动器。
在安装了.NET 4.0的旧系统Windows Server 2003上运行稳定(ish)几个月的应用程序。
我正在尝试将应用程序移动到新服务器Windows Server 2012,默认情况下安装了.NET 4.5或更高版本。
目标系统上没有调试器。在我的开发环境和旧的生产环境中,一切运行良好。
答案 0 :(得分:1)
问题最终是我引用了共享的本地驱动器。出于某种原因,我没有获得共享驱动器的许可来写任何东西。我将输出路径从\\“c-drive \更改为c:\ ...。这解决了问题。