【问题标题】:.net: The "SignFile" task failed unexpectedly. System.IO.IOException: The process cannot access the file.net:“SignFile”任务意外失败。 System.IO.IOException:进程无法访问文件
【发布时间】:2016-03-29 01:59:23
【问题描述】:

使用 VB.net 2013。在编译我的项目时,我可以让它编译几次,但在几次编译后它停止编译并系统地抛出错误:

Error   1   "The "SignFile" task failed unexpectedly." "System.IO.IOException: The process cannot access the file" '[...]\bin\Debug\app.publish\KSDoc.exe' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at Microsoft.Build.Tasks.Deployment.ManifestUtilities.PathUtil.IsPEFile(String path)
   at Microsoft.Build.Tasks.Deployment.ManifestUtilities.SecurityUtilities.SignFileInternal(X509Certificate2 cert, Uri timestampUrl, String signingTargetPath, Boolean certIsSha256, Boolean targetFrameworkSupportsSha256)
   at Microsoft.Build.Tasks.Deployment.ManifestUtilities.SecurityUtilities.SignFile(X509Certificate2 cert, Uri timestampUrl, String path)
   at Microsoft.Build.Tasks.Deployment.ManifestUtilities.SecurityUtilities.SignFile(String certThumbprint, Uri timestampUrl, String signingTargetPath, String targetFrameworkVersion)
   at Microsoft.Build.Tasks.SignFile.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext() KSDoc

如果我取消选中“签名”选项卡下的“签署 ClickOnce 清单”选项,则应用程序会编译,但这不是一个可行的替代方案。我需要签署申请。

证书也已安装且有效(即未过期)。

如果我重新启动电脑,问题似乎会消失一段时间,但随后又会再次出现。

【问题讨论】:

    标签: .net vb.net compilation clickonce code-signing


    【解决方案1】:

    我也遇到了同样的问题,我一直在努力找到它,直到今天早上我看到了这篇文章......锁定文件的也是熊猫,我以前用 Avast 也遇到过同样的问题。

    【讨论】:

    • 很高兴知道我并不孤单!我仍然必须强调 MS Security Essentials 不会导致这个问题,所以这就是我现在使用的(在 Win7 x64 机器上)。你呢?
    【解决方案2】:

    在深入研究问题后,我运行了进程监视器(来自 Sysinternals),发现正在编译的 EXE 文件(在我的情况下为 KSDoc.exe)正在被 Visual Studio IDE 和第 3 方进程访问称为 PSANHost.exe

    原来 PSANHost.exe 属于 Panda Antivirus(熊猫云防病毒)。 卸载 Panda 后问题消失。

    请注意,Panda 并未将可执行文件标记为具有任何风险,这一点很重要;显然它只是在错误的时间锁定了文件。 还值得一提的是 “禁用” AV 并不能解决问题。您实际上必须从您的 PC 上卸载它。

    到目前为止,一切都运行良好。 (回到 MS Security Essentials)

    【讨论】:

    • 哇,我很高兴你发布了这个答案!我不知道出了什么问题,但关闭 Panda Antivirus 对我有用。看来不需要卸载了
    【解决方案3】:

    是的,熊猫是原因。 但是,如果您在 Panda 的 Exception 列表中输入存储项目文件的文件夹,则不会再给您带来任何问题。

    【讨论】:

    • 根据我的经验,在我发原始帖子的时候,我不记得我是否将文件夹添加到例外列表中;我确实记得关闭实时扫描并没有解决问题(这在故障排除时令人困惑:原来 Panda 仍然锁定文件;只是没有扫描它们)。不过,我相信从那时起,Panda 的某些事情可能已经发生了变化;无论如何,尽管这值得指出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 2021-01-05
    • 2016-12-12
    • 1970-01-01
    • 2017-10-03
    相关资源
    最近更新 更多