我有一个解决方案,其中有两个用C#语言编码的项目。主项目是Windows Forms App,它引用了第二个项目,一个类库(DLL),其中包含一种可访问SqlServer,logger log4net,扩展方法等的实用程序库。为第二个项目生成的输出DLL始终是复制到主项目的调试文件夹中。
我编译并执行没有问题。
现在,我发布项目,包括所有依赖项。我下载并执行生成的安装程序(在同一环境的本地PC上),当应用程序启动时,我收到DLL抛出的权限错误,例如SqlClientPermission。如果我浏览安装了该应用程序的晦涩文件夹(%localappdata%\Apps\2.0\<obscurefolder>\<obscurefolder>\<app>
)并手动执行该应用程序,则没有问题。
我已将安全性ClickOnce设置为完全信任应用程序。我也在使用.NET Framework 4.5.1。
似乎有些权限我必须手动设置,但我对此并不担心。