由于System.Security.SecurityException,Winform Application无法启动

时间:2017-10-27 07:39:50

标签: c# winforms

由于System.Security.SecurityException,我的Windows窗体应用程序无法启动。 这是Program.cs上的代码

 [STAThread]
    static void Main()
    {

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new BaseForm());
    }

Stacktrace如下。

StackTrace:
       System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
       System.Security.CodeAccessPermission.Demand()
       System.Windows.Forms.Application.add_ThreadException(ThreadExceptionEventHandler value)
       MyApp._0.Program.Main()

我不知道解决这个问题......任何提示都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

我在传递这个安全异常时遇到了很多困难。阅读大量博客,参与讨论但没有任何成效。

最后在msdn中找到了“启用ClickOnce安全设置”。我只是遵循这些步骤并禁用了项目属性中的安全设置。

这是一个链接希望这有助于一些:http://msdn.microsoft.com/en-us/library/1sfbfyk0.aspx

答案 1 :(得分:2)

自己解决。

检查my_project app.config ,附加未知的安全策略设置,如下所示。

<runtime>
   <NetFx40_LegacySecurityPolicy enabled="true" />
</runtime>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
  <providers>
    <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
  </providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
  <providers>
    <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
  </providers>
</roleManager>
</system.web>

删除所有,然后在Visual Studio调试模式下启动应用程序启动。