showtopperではありませんが、プロジェクトで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.xsd
を複数のプロジェクトで共有する場合は、Visual Studio Schemasフォルダーに移動します(パスは少し異なる場合があります。私にとってはD:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas
です)。次に、<packages>
ファイルのpackages.config
タグを編集します(xmlns
属性を追加します):
<packages xmlns="urn:packages">
これで、packages.configファイルがVisual Studioで開いている場合でも、警告が消えます。
ファイルが開いているときにのみ表示されます。 Visual Studioでファイルを閉じると、警告は消えます
実際、これに対する正しい答えは、スキーマをドキュメントに追加することです。
<packages xmlns="http://schemas.Microsoft.com/packaging/2010/07/nuspec.xsd">
...これで完了です:)
XSDがまだキャッシュされておらず利用できない場合、NuGetコンソールから次のように追加できます。
Install-Package NuGet.Manifest.Schema -Version 2.0.0
これが完了すると、以下のコメントに記載されているように、現在のフォルダーから、次の場所にある公式のスキーマフォルダーに移動できます。
%VisualStudioPath%\Xml\Schemas
答えがどれもあなたの問題を永久に解決することはありません。 XSDを追加するパスに移動すると(Xmlメニューから[スキーマの作成]を選択)、新しいパッケージを追加するときにpackages.configファイルがクリーンアップされるため、パッケージマネージャーで問題が発生します。
最善の解決策は、使用しないときにファイルを閉じることで無視することです。
これは、VSがこのファイルのスキーマを知らないために発生します。このファイルは実装の詳細であり、通常は直接開く必要のないものです。代わりに、NuGetダイアログを使用して、プロジェクトにインストールされたパッケージを管理できます。
問題は、packages.config
のxsdスキーマが必要なことです。
これは、スキーマを作成する方法です( ここで見つけました) :
構成ファイルを開く-> XML-> Create Schema
これにより、packages.xsd
が作成され、Visual Studioで開きます。
私の場合、packages.xsd
は次のパスで作成されました。
C:\ Users\MyUserName\AppData\Local\Temp
一時フォルダーからpackages.xsd
を参照したくありませんが、ソリューションに追加してソース管理に追加して、他のユーザーが取得できるようにしたいので... packages.xsd
とソリューションフォルダーに貼り付けました。次に、ファイルをソリューションに追加しました。
1。ソリューションと同じフォルダーにpackages.xsd
をコピーします
2。 VSから、ソリューション->追加->既存のアイテム...を右クリックし、packages.xsd
を追加します。
それで、packages.xsd
を作成し、ソリューションに追加しました。必要なことは、このスキーマを使用するように構成ファイルに指示することだけです。
構成ファイルを開き、トップメニューから次を選択します。
XML->スキーマ...
packages.xsd
を追加し、このスキーマを使用するを選択します(以下を参照)