【问题标题】:ClickOnce deployment "System.IO.IOException"ClickOnce 部署“System.IO.IOException”
【发布时间】:2019-08-22 16:50:11
【问题描述】:

我正在尝试通过 ClickOnce 部署来部署应用程序。单击 setup.exe 启动安装,但突然对话框提示说

An Error has occured writing to the hard disk.Check if there is enough available space on the disk.Contact the application vendor!

当我单击对话框的Details 按钮时,它显示了内部异常,stacktrace,... 这是异常消息的有用部分:

System.IO.IOException
        - The file 'E:\Users\XXXX\AppData\Local\Temp\Deployment\JO85B12B.BBL\N1TJQM37.HZ5\Microsoft.ExceptionMessageBox.dll' already exists.
        - Source: mscorlib

值得一提的是,这是一个名为 Project A 的项目的包,它引用了第二个项目,比如 Project B,它需要包含在 ClickOnce 包中,所以我在项目中将其标记为 Include一个属性。并且在异常中提到的Microsoft.ExceptionMessageBox.dll 在两个项目中都使用了,所以我在两个地方都将其标记为包含(尽管在我的机器上Microsoft.ExceptionMessageBox.dllGAC 中(作为SQL Server 的一部分),它在客户的 PC 上不可用,所以我也将它包含在包装中)

【问题讨论】:

  • 你到底在用什么? .NET V.xx? Visual Basic、C++,包含此类信息会很有帮助。
  • 感谢您的回复,我使用的是 C#.Net 3.5
  • 完整的硬盘错误是一个红鲱鱼。见这里 - 另一个人报告了你在这里遇到的完全相同的问题:pcreview.co.uk/forums/… - 使用这个 SO 线程让你摆脱麻烦:stackoverflow.com/questions/1099962/…

标签: .net winforms clickonce


【解决方案1】:

我有一个 dll 给了我这个问题。我去了项目的属性>>发布选项卡>>单击应用程序文件按钮>>

  • 将相关文件的“发布状态”设置为“包含”。
  • 为出现问题的程序集创建一个新的“下载组”并选择它(我不知道为什么会这样)。
  • 发布。

【讨论】:

    猜你喜欢
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多