0
ProjectA.csproj包含如此定义的XSD架构:C# - 编译xml模式到DLL?
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="ItaXmlConfigFileSchemaV1"
targetNamespace="http://tempuri.org/ItaXmlConfigFileSchemaV1.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/ItaXmlConfigFileSchemaV1.xsd"
xmlns:mstns="http://tempuri.org/ItaXmlConfigFileSchemaV1.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:r="http://tempuri.org/ItaXmlConfigFileSchemaV1.xsd"
>
...schema definitions...
</xs:schema>
与ItaXmlConfigFileSchemaV1.xsd包括作为嵌入的资源项目A会被编译成ProjectA.dll。
然后,创建ProjectB.csproj,并在它我包括与下面的头一个XMLFile1.xml:
<?xml version="1.0" encoding="utf-8" ?>
<utilityConfigData xmlns="http://tempuri.org/ItaXmlConfigFileSchemaV1.xsd">
</utilityConfigData>
项目B引用ProjectA.dll。
当我将ProjectA.csproj添加到ProjectB解决方案中,并在XML编辑器中打开XMLFile1时,Visual Studio 2010在XMLFile1.xml的XML编辑器中为我提供了所有可用的自动补全/验证内容。
但是,当ProjectB引用DLL而未加载项目源时,XML编辑器不会基于该模式提供任何自动完成或验证。
有什么办法可以使这些功能只使用对DLL的引用?
当您选择了xml文件时,您可以通过属性指向模式。然后你会有智能感知。我认为你不能仅仅通过引用dll就可以做到这一点。 –