1. ホーム
  2. xml

[解決済み] nuget 'packages' 要素が宣言されていない警告

2022-05-11 19:20:42

質問

しかし、プロジェクトでnugetを使用すると、このような形状のpackages.configファイルが作成されます。

<?xml version="1.0" encoding="utf-8"?>
<packages>
   ... your packages
</packages> 

これはVSで警告を出します。

The 'packages' element is not declared.

問題の原因は、xmlの宣言と関係があるのだと思います。

あと、デフォルトの定義パッケージは警告を出すべきではないと思います。

この警告を表示しないようにするには、何を変更すればよいのか、誰か知っていますか。(たとえ、ファイルが開いているときだけ見ることができても、特定の CA ルールがオンになっていると、常に警告として表示されます。)

どのように解決するのですか?

この警告をなくすには、常に 'packages.config' 用に簡単な xsd スキーマを作成することができます。これを行うには、"packages.xsd" という名前のファイルを作成します。

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
      targetNamespace="urn:packages" xmlns="urn:packages">
  <xs:element name="packages">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="package" maxOccurs="unbounded">
          <xs:complexType>
            <xs:attribute name="id" type="xs:string" use="required" />
            <xs:attribute name="version" type="xs:string" use="required" />
            <xs:attribute name="targetFramework" type="xs:string" use="optional" />
            <xs:attribute name="allowedVersions" type="xs:string" use="optional" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

このファイルの場所 (2つのオプション)

  • packages.config' ファイルと同じフォルダー内。
  • 共有したい場合は packages.xsd を複数のプロジェクトで共有したい場合は、Visual Studio Schemas フォルダに移動します (パスは若干異なるかもしれませんが、これは D:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas です)。

次に <packages> タグを packages.config ファイル(追加 xmlns 属性を追加)。

<packages xmlns="urn:packages">

これで、警告が消えるはずです(Visual Studioでpackages.configファイルを開いていても)。