【问题标题】:Import XSD targetNameSpace From another Visual Studio project从另一个 Visual Studio 项目导入 XSD targetNameSpace
【发布时间】:2015-10-14 10:45:12
【问题描述】:

我有一个包含许多 VB 项目的 VB 解决方案。其中之一是“核心”项目,其中有一个 .xsd 文件,其中包含 targetNameSpaceurn:CustomNamespace

在 Core 项目中,我可以通过执行以下操作来导入 xsd 命名空间:

Imports <xmlns="urn:CustomNamespace"/>

如何让这个Imports 语句在引用Core 项目的项目中工作?在 Core 中,xsd 的命名空间显示为 Intellisense。在引用项目中不是这种情况。

我知道这可以通过某种方式完成,因为我们正在使用一个包含我们正在导入的 xsd 的 nuget 包。

******** 更新 ********

看起来 nuget 包中 DLL 的命名空间 Intellisense 来自配置节设计器 xsd 文件,该文件是一个 .csd.xsd 文件。还有其他相关文件,但我本质上想要与引用具有 .csd.xsd 文件的包相同的功能。

看起来这是一个位于 https://csd.codeplex.com/ 的 VS 插件。我可能会关闭该项目以尝试了解他们是如何做到的,但如果有人知道它是如何完成的,我将不胜感激。

【问题讨论】:

    标签: vb.net visual-studio-2013 xsd project-reference config-designer-csd


    【解决方案1】:

    Nuget 可能会将架构文件添加到引用您的“核心”项目的项目中。您可以通过将其添加为引用项目的链接来引用相同的 xsd 文件。

    右键单击(非核心)项目,选择添加>现有项目。浏览到 xsd 文件 - 这一点很关键 - 不要单击“添加”,而是单击“添加”旁边的小箭头并选择“添加为链接”。

    【讨论】:

    • 如果有办法在不导入 xsd 的情况下导入 xsd 命名空间,我不想这样做。例如,我可以导入 Core.Namespace,而无需执行任何操作,只需引用项目即可。 nuget 包是这样实现的吗?
    • 嗯。尝试在核心模块的项目属性选项卡中删除“根命名空间”(如果有的话)。然后添加一个引用并尝试导入命名空间。您可以尝试从Global. 开始或使用IDE 中的对象浏览器(F2 键)
    • 看来您是对的,我需要链接到该文件才能从 xsd 导入命名空间。我更新了您的答案以反映我的情况——实际上,nuget 包确实将 xsd 直接添加到项目中,这就是我能够导入该命名空间的原因。我添加了一个赏金,然后在我的项目中找到了该文件——我会在等待期结束后立即给你赏金。
    • 很高兴我能帮上忙。感谢您的赏金。快乐编程! :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    相关资源
    最近更新 更多