症状如下:
用vs调试的时候,执行到主窗体构造函数处抛出了 “That assembly does not allow partially trusted callers.” 异常。直接执行编译好的exe文件没有任何问题。
查看异常信息为System.Security.SecurityException System.Security.Permissions.SecurityAction.LinkDemand。
查看项目的属性Security栏,去掉“Enable ClickOnce Security Settings”的钩。故障排除。
故障回放:加上“Enable ClickOnce Security Settings”的钩,删除Properties文件夹下的app.manifest文件。故障出现。
至于为什么会这样,自己动脑,这里不作分析。
注:网上有说法,在 Assembly.cs 加上个属性 [assembly : AllowPartiallyTrustedCallers] 自己测试后发现无效。