使用ClickOnce部署我的应用程序。
只要我部署到开发机器,通过ClickOnce发布应用程序就可以正常工作。当我部署到非开发机器(缺少一些DLL和注册)时,我收到COM引用错误。
因此,为了解决COM问题,当我对我的应用程序进行一次更改时,ClickOnce更加失败:
在一个COM引用上,如果我将Isolated属性从false更改为true ...
- ClickOnce发布很好
- 启动应用程序会显示以下错误:“无法继续。应用程序格式不正确。”
- 如果我在错误上单击“详细信息...”,我看到:“'threadingModel'属性无效 - 根据其数据类型'urn:schemas-microsoft-com,值'apartment'无效: asm.v1:ThreadingModelType' - 枚举约束失败。“
经过一些谷歌搜索,似乎问题可能是一个字符问题!我尝试将清单中的“公寓”更改为“公寓”,我相信这可能会解决问题,但后来我又得到另一个错误,说清单上的计算哈希与预期哈希不匹配(显然是因为我修改了清单) )。
我的问题:
- 首先,我如何确保ClickOnce创建正确形成的清单而不会出现此案例问题(如果这是所有问题)?这可以避免吗?
- 其次,如果我不得不忍受这个问题,我怎样才能在发布后修改清单?
- 第三,有没有办法解决ClickOnce的COM注册问题而不修改Isolated属性?
- 第四,你是否怀疑我在做导致这个问题的线程方面做了一些奇怪/异常的事情?