首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在客户端为ClickOnce应用程序选择目标框架

在客户端为ClickOnce应用程序选择目标框架
EN

Stack Overflow用户
提问于 2017-01-23 18:17:00
回答 1查看 212关注 0票数 1

我们正在使用一个ClickOnce部署的WPF应用程序,该应用程序旨在运行在.Net Frameworkv3.5上。该应用程序不适用于Windows 8或10,如果安装了较新版本的.Net框架,则无法工作。

我们收到错误消息:

此方法显式地使用CAS策略,该策略已被.NET框架淘汰。为了使CAS策略具有兼容性,请使用NetFx40_LegacySecurityPolicy配置开关。有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkID=155570

我无法访问源代码或编辑web服务器上的ClickOnce文件。我需要一个解决方案,可以使应用程序在我们公司的计算机上工作,而不需要更改web服务器或代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-23 18:23:07

错误消息中的链接给出了答案:

兼容性:使用CAS策略遗留选项 configuration元素允许您指定进程或库使用遗留CAS策略。启用此元素时,策略和证据重载将像在框架的早期版本中那样工作。

代码语言:javascript
复制
<configuration>
   <runtime>
      <NetFx40_LegacySecurityPolicy enabled="true"/>
   </runtime>
</configuration>

因此,要重新启用不推荐的代码,请将<NetFx40_LegacySecurityPolicy enabled="true"/>元素添加到YourApp.exe.config中。

如果您使用的是ClickOnce,则可以改为machine.config。对machine.config的编辑不会重新进行,因为它们可能会导致系统范围的运行时或安全后果,如果另一个选项可用,就不应该尝试编辑,而且永远不会没有测试。

或者,如果您想在.Net 3.5下运行整个应用程序(这是CLR的内部版本v2.0.50727,有一些额外的库),您可以用同样的方式指定。对于通过ClickOnce部署的应用程序来说,这不是一个选项。

代码语言:javascript
复制
<configuration>
   <startup>
      <supportedRuntime version="v2.0.50727"/>
   </startup>
</configuration>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41812984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档