我在 Visual Studio 2010 中打开了第 3 方 XSD 文件,该文件从同一第 3 方的其他架构文件导入命名空间。
在架构文件的 XML 编辑器视图中,xs:import 元素带有下划线,并显示以下错误:请求类型为“System.Security.Permissions.FileIOPermission”的权限,mscorlib,Version=4.0.0.0,Culture=neutral , PublicKeyToken=b77a5c561934e089' 失败。
我阅读了以下博客文章:Link,其中指出这是安全区域违规,Visual Studio 将架构放置在 XML 架构资源管理器中的“未经授权的区域”中。
我的问题是 - 如何更改我的安全设置以允许引用这些模式,或者我可以做些什么来使与它们关联的模式和命名空间“受信任”?
我自己也遇到过这个问题 - 实际上是因为 Win 7 阻止了架构文件,因为它们是从网络位置复制的。
要取消阻止单个文件,请导航到该文件并使用“属性”>“取消阻止”
对于多个文件,最快的方法是使用 Sysinternals 的 Stream 批量更改位置,如本博客文章中所述。
chmod 777
。我通过以管理员身份打开命令提示符并输入以下内容,获得了架构目录中 xsd 文件的所有权并打开了权限:
takeown /f D:\schema\* /r
icacls D:\schema\* /grant Everyone:F /t
这解决了我的问题,我能够成功生成我的架构。希望这对将来的一些灵魂有所帮助。