w innych odpowiedzi powiedzieć, trzeba dostarczyć dokument schematu XML dla sekcji konfiguracji niestandardowej. Nie ma potrzeby dodawania pliku schematu .xsd
do jakiegoś katalogu globalnego; można odwoływać się do niej bezpośrednio z sekcji niestandardowej w pliku App.config
:
<configuration>
<!-- make the custom section known to .NET's configuration manager -->
<configSections>
<section name="customSection" type="..." />
</configSections>
<!-- your custom section -->
<customSection xmlns="http://tempuri.org/customSection.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="customSection.xsd">
...
</customSection>
<configuration>
Atrybut xmlns
jest jedynie tam ustawić domyślnej przestrzeni nazw, tak że nie trzeba, aby ustawić go na elemencie customSection
i wszystkich jego elementy potomne. (Jednak nie należy umieszczać atrybut xmlns
na elemencie <configuration>
!)
customSection.xsd
zawiera schemat, który będzie używany przez IntelliSense, na przykład:
<xs:schema id="customSectionSchema"
targetNamespace="http://tempuri.org/customSection.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/customSection.xsd"
xmlns:mstns="http://tempuri.org/customSection.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="customSection">
...
</xs:element>
</xs:schema>
+1 Przyjmowane rozwiązanie wydaje się być szeroko stosowane, ale nie powinno się tego robić, chyba że zmiany schematu są standardowe i przydatne dla wszystkich projektów Visual Studio, które można utworzyć na komputerze. (Http://msdn.microsoft.com/ en-us/library/ms255821.aspx) – Paul