该进程不能访问该文件,因为它正在被另一个进程使用.在.Net 5.0项目中抛出异常,但在.Net Framework 4


Process.Start(sourceFile);

就是这样。这就是代码。我目前正在从一个用c#编写的项目中重新编写一些针对。net 5.0的软件。

当按钮被按下时,它应该打开一个文件。在。net Framework 4.7.1中,它会打开文件,即使有人已经打开了它。正在启动的进程,在本例中是AutoCAD,像往常一样处理文件的只读方面。

当我在。net 5.0中对相同的文件使用相同的代码时,它会抛出System.ComponentModel。Win32Exception (32):进程无法访问该文件,因为该文件正在被其他进程使用。

例外。我知道异常意味着什么,我只是不知道为什么当在原始项目中打开文件没有问题时,它会被抛出。

.NET 5.0改变了它的工作方式吗?我不知道为什么它不工作。

@klaus- gtter发布了一个链接,其中确实包含了答案,尽管看起来有点不方便。

ProcessStartInfo startInfo = new ProcessStartInfo(path_to_folder) {
UseShellExecute = true
};
Process.Start(startInfo);

是使这个工作的方法。

相关内容

  • 没有找到相关文章

最新更新