由于系统原因,我的Windows窗体应用程序未启动。安全SecurityException。这是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()
我不知道该怎么解决。。。如有任何提示,不胜感激。
我在传递这个安全异常时遇到了很多困难。阅读了大量的博客,参与了讨论,但都没有成功。
最终在msdn中找到"启用ClickOnce安全设置"。我只是遵循了这些步骤并禁用了项目属性中的安全设置。
这里有一个链接,希望这能帮助一些人:http://msdn.microsoft.com/en-us/library/1sfbfyk0.aspx
自己解决。
检查my_projectapp.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调试模式下启动winform应用程序。