не showstopper, но при использовании nuget в проекте он создает файл package.config с этой формой
<?xml version="1.0" encoding="utf-8"?>
<packages>
... your packages
</packages>
это дает предупреждение в VS
The 'packages' element is not declared.
Происхождение проблемы как-то связано с объявлением xml.
Также я думаю, что пакет определения по умолчанию не должен вызывать предупреждения.
Кто-нибудь знает, что я должен изменить, чтобы я не получил это предупреждение? (т.е. даже если я вижу это только в том случае, если файл открыт, он также постоянно отображается как предупреждение с некоторыми правилами CA.)
Вы всегда можете сделать простую схему xsd для 'packages.config', чтобы избавиться от этого предупреждения. Для этого создайте файл с именем "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>
Местоположение этого файла (два варианта)
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 открыт файл package.config).
Вы увидите это только в том случае, если файл открыт. Когда вы закроете файл в Visual Studio, предупреждения исчезнут.
nuget
и nuget
знает, как использовать этот файл очень хорошо.
На самом деле правильный ответ на этот вопрос заключается в том, чтобы просто добавить схему в ваш документ, например
<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, выберите "Создать схему" ), у вас возникнут проблемы с менеджером пакетов, так как он очистит ваш файл package.config при добавлении нового пакета.
Лучшее решение просто игнорируется, закрывая файл, когда вы его не используете.
Это происходит потому, что VS не знает схему этого файла. Обратите внимание, что этот файл больше связан с реализацией, а не с тем, что вам обычно нужно открывать напрямую. Вместо этого вы можете использовать диалог NuGet для управления пакетами, установленными в проекте.