每当从文件共享运行 .NET exe 时,.NET 安全模型都会引发安全错误。从本地驱动器运行时不会出现该错误。有谁知道无需签署代码即可解决此问题的方法吗?

其他提示

使用 caspol.exe 进行分配该文件共享足够的权限来运行您的程序。

您可能能够针对.net 3.5 sp1构建应用程序,此版本正在删除此安全设置。

为了解决这个问题,我们最终将.exe包装在一个批处理文件中。批处理文件将.exe复制到本地驱动器并从那里运行它。我确信有一种不那么黑的方式!

确保运行该软件的计算机上安装了.Net 3.5SP1。此版本消除了对从文件共享运行的应用程序的安全限制。它允许他们以完全信任的方式运行,而不是完全信任地运行。以前的模型将它们置于受限的环境中。

这是万斯关于该主题的博客文章的链接

您可以使用.Net配置向导来放松特定程序集及其位置的安全性,而这又可以通过组策略进行部署。你也可以像前面提到的那样使用caspol。

另一种选择是使用代码访问安全性。有一篇精彩的MSDN文章这里解释它。

第三种方法是使用clickonce部署,但是这仍然会在执行时创建程序集的本地实例。

您可以使用 Click Click deployment 来部署您的应用程序文件共享。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top