【问题标题】:Application Trust Level on Network Drive for Nhibernate C# ApplicationNhibernate C# 应用程序的网络驱动器上的应用程序信任级别
【发布时间】:2010-11-11 18:57:51
【问题描述】:

场景:我有一个 C# 应用程序,它使用 Click-Once 在网络上的计算机上安装(在桌面上放置一个指向应用程序的图标)。我最近一直在将 NHibernate 集成到程序中,一切都在我的盒子上运行顺利。它已准备好进行内部测试,我需要将其放在我们的网络共享上(与生产共享相同,不同的文件夹)。

问题:当我将它放在网络共享上并运行它时,我收到一条错误消息,指出应用程序无法在部分信任下运行。

问题:我已经用谷歌搜索了这个问题,而且每个解决方案似乎都在谈论遇到这种情况的 Web 应用程序。无论如何我可以将应用程序设置为在网络共享上以完全信任模式运行。将文件夹/exe设置为完全信任?这只是在我的应用程序属性的安全选项卡中允许“完全控制”吗?

这是我在运行应用程序时收到的错误

感谢您的任何意见

【问题讨论】:

  • 最终以部分信任重新编译所有内容,现在可以正常工作了。

标签: c# activerecord .net-3.5 full-trust


【解决方案1】:

您需要使用 CasPol.exe 或管理工具中的配置工具在客户端机器上设置安全策略。

或者,您可以升级到 .net 4.0,gets rid of all this。

编辑:您也可以尝试将[assembly: AllowPartiallyTrustedCallers]添加到引用的程序集。

【讨论】:

  • @Slaks - +1 更多人需要了解 caspol.exe。您能否提供有关 .NET 4 更改的更多信息的链接?
  • @Slaks,无论如何这可以远程/自动运行而无需用户交互。强迫每个用户都这样做并不是一个真正的选择,因为我们不一定知道谁将运行它。
  • @Gage:询问您的 IT 基础架构。
  • @Slaks,尝试将其添加到程序集中,但没有成功。重新编译了 Nhibernate 和 Castle 以允许这样做,但仍然无法正常工作。如果它与 VS 2008 一起使用,我会考虑尝试 .Net 4.0。不能证明升级到 2010 是合理的
【解决方案2】:

在桌面上放置一个指向网络共享的图标听起来不像单击一次。

但是这个“问题”应该从 Fx 3.5 SP1 开始解决。

【讨论】:

  • 这是放在桌面上的应用程序引用。以为是图标,我的错。我正在使用.Net 3.5
  • 它是 SP1 吗?会让它成为一个不同的问题。
  • 我相信我安装了 3.5 SP1,但它只在我的项目设置中显示 .Net 3.5。
猜你喜欢
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 2019-12-17
  • 2011-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多