web-dev-qa-db-ja.com

修正:グローバル要素「構成」はすでに宣言されています

「要素/属性<xxx>のスキーマ情報が見つかりませんでした」の解決方法の2番目のソリューションを使用しましたか?

つまりスキームを作成するボタンでXSDを作成しました。 app.configのスタイルシートをapp.xsdに変更しましたが、次の警告が表示されます。

グローバル要素「構成」はapp.xsdですでに宣言されています

名前を変更しても、警告が表示されます。誰かがこれに対する解決策を持っていますか?

72
Michel Keijzers

私はあなたが言及している質問と同様の問題を抱えていました。私はこれらの指示に従いましたが、すべてが順調でした。 EnterpriseLibrary.Configuration.xsd%Program Files%\Microsoft Visual Studio [version] \Xml\Schemas\最初に、次にこれを行います。

エンタープライズライブラリは、Visual Studio XMLエディターでエンタープライズライブラリ構成ファイルを編集するためのIntelliSense®を提供するスキーマをVisual Studioにインストールします。使用する前にスキーマをオンにする必要があります。

エンタープライズライブラリ構成スキーマを有効にするには

  1. ソリューションエクスプローラーで構成ファイルをダブルクリックして、Visual Studioで構成ファイルを開きます。

  2. [XML]メニューの[スキーマ]をクリックして、[XMLスキーマ]ダイアログを開きます。

  3. EnterpriseLibrary.Configuration.xsdという名前のスキーマを見つけます。これは自動的にインストールされます。ただし、リストに表示されていない場合は、[追加]をクリックして、%Program Files%\ Microsoft Visual Studio [バージョン]\Xml\Schemas \フォルダーに移動し、EnterpriseLibrary.Configuration.xsdを選択して[開く]をクリックします。

  4. [使用]列の値を[このスキーマを使用]に変更します。次に「OK」をクリックします。

記事へのリンクは here です。これが役立つことを願っています

35
Tommy Grovnes

再起動がうまくいかなかったので、何が機能したかを共有したいと思います。

まず、Windows 8にアップグレードしました。この問題はそれ以前には発生していませんでした。この問題は、app.configファイルのoneでのみ発生しました。そこで、問題のあるapp.configと良いものを比較することにしました。 Visual Studioでapp.configを開いて、Xml -> Schemas。良い設定では、これらのスキーマのうち3つしかチェックされていないことに気付きました。不良なものには、同じ3つがチェックされ、さ​​らにDotNetConfig.xsdがありました。 Use列を自動に変更した後、DotNetConfig.xsdの場合、問題はなくなりました。

enter image description here

enter image description here

173
Bob Horn

私の問題は、.Net 4.5から.Net 4.0に移行したことです。この問題を解決するために、すべてのチェックスキーマを自動に切り替えました。

32
Al Option

私もこれにしばらく苦労しました。問題の私のバージョンは、隠された{PROJECTNAME}.SUO Visual Studioによって作成されたファイル。

私の推測では、VSはこのファイルにXSDスキーマの関連付けをキャッシュします。ターゲットフレームワークを変更した後に警告が表示され、SUOファイルを削除してVSを再起動すると警告が消えました。

13
Ishmaeel

質問で説明されている症状で、Visual Studio 2013(Update 4)を使用すると、XMLスキーマ [sic]ダイアログで_DotNetConfig.xsd_と_DotNetConfig40.xsd_の両方が表示されます使用のために選択されました。

.NET Framework 4.0プロジェクトを使用しています。

2つのXSDファイルは互いに競合し、それぞれが同じ要素を定義しているため、警告が発行されます。

これらのスキーマファイルは、%programfiles(x86)%\Microsoft Visual Studio 12.0\xml\Schemas\フォルダーに含まれています。

_DotNetConfig.xsd_は_1033_サブフォルダーにあり、より新しい、より完全なバージョンのようです。

XMLスキーマで選択した設定に関係なく、DotNetConfig40またはDotNetConfig。 「Remove」を使用して、Useパラメーターを「se this schema」から「Automatic」に変更してから「Doこのスキーマを使用しない "。

どちらのファイルを選択しても、ダイアログに戻ると、両方のファイルが選択されて使用されます。また、「[〜#〜] ok [〜#〜]」を押す前に別の行に移動するトリックも試しました。

最後に、_DotNetConfig40.xsd_ファイルの名前を_DotNetConfig40 DO NOT USE.xsd_に変更して、ロードされないようにしました。これですぐに問題が解決しました。

私はそれをしなければならないことに満足しておらず、それが他のプロジェクトに望ましくない副作用をもたらすかどうか心配しています。この投稿を結果で更新します。

12

これらの警告の原因となったエディターでファイルを閉じて再コンパイルすると、この問題は修正されました。

6
Romonov

システムを再起動すると、問題は解決します。つまり、このスキームに関連する警告はもう表示されません。

そのため、再起動するようです(場合によっては、暗黙的な復元/リセットによって警告が削除された可能性があります)。

4
Michel Keijzers

VS2017でこの問題に気付きました。

DotNetConfig.xsdを変更して「自動」を使用すると、問題が解決しました。

enter image description here

4
omostan

私にとっては、XML Schemas複製された、私は単にDon't Use Visual Studio 2017に関係のないものすべて。問題はすぐに消えた

3
TheGeneral

Visual Studio 2015 Community Editionの使用-プロジェクトのルートフォルダーにweb.xsdを生成し、それをスキーマリストに追加すると、1つを除くすべての警告がクリアされ、

グローバル要素「構成」はすでに宣言されています。

テキストエディタでweb.configファイルを閉じてプロジェクトを再構築すると、この警告がクリアされました。

3
Randall Price

ネクロマンシング:Visual Studio 2017で2019を更新

私は他の人が提案したことをやろうとしました:

  • システムを再起動しようとしました:動作しませんでした。
  • app.Configを開きます
  • メニュー:XML-スキーマ...
  • いくつかのDotNetConfigXX.csd(XXはエモティまたは数字)があることを確認してください
  • 私はそれらを自動に設定しようとしました、または「このスキーマを使用しないでください」
  • 重複したスキーマを削除しようとしました

これはすべて機能しませんでした。

ただし、OLEGここで説明したように の解決は機能しました。

すべての使用済みDotNetConfigXX.xsdファイルの次の部分(XXは空、または数字)を次のコードに置き換えるだけで済みました。

 <xs:element name="startup" vs:help="configuration/startup" 
 ...
 </xs:element>

と置換する:

<xs:element name="startup" vs:help="configuration/startup">
    <xs:complexType>
        <xs:choice minOccurs="1" maxOccurs="1">
            <xs:element name="requiredRuntime"     vs:help="configuration/startup/requiredRuntime">
                <xs:complexType>
                    <xs:attribute name="version" type="xs:string" use="optional" />
                    <xs:attribute name="safemode" type="xs:boolean" use="optional" />
                </xs:complexType>
            </xs:element>
            <xs:element name="supportedRuntime" minOccurs="1" maxOccurs="unbounded" vs:help="configuration/startup/supportedRuntime">
                <xs:complexType>
                    <xs:attribute name="version" type="xs:string" use="optional" />
                    <xs:attribute name="sku" type="xs:string" use="optional" />
                </xs:complexType>
            </xs:element>
        </xs:choice>
        <xs:attribute name="useLegacyV2RuntimeActivationPolicy" type="xs:boolean" use="optional" />
        <!-- see http://msdn.Microsoft.com/en-us/library/bbx34a2h.aspx -->
    </xs:complexType>
</xs:element>

元の.XSDファイルのバックアップを忘れないでください!

Visual Studioの再起動後、エラーはなくなりました。

1