以下の内容はhttps://azukipochette.hatenablog.com/entry/2022/11/02/164319より取得しました。


効率的に NuGet スペック ファイル (.nuspec) を書く

Visual Studio Code 向けに Redhat 製の XML 拡張機能が提供されているので、これを使う。

marketplace.visualstudio.com

nuspec ファイルの XSD ファイルの最新は GitHub 上で管理されている。

github.com

XSD を使った自動補完 (Auto complete/IntelliSence) はいくつかあるが、nuspec ファイルに直接手を入れずに補完するには、XML 拡張機能を導入した後、"xml.fileAssociations" を設定するとよい。

    "xml.fileAssociations": [
    {
        "systemId": "https://raw.githubusercontent.com/NuGet/NuGet.Client/dev/src/NuGet.Core/NuGet.Packaging/compiler/resources/nuspec.xsd",
        "pattern": "**/*.nuspec"
    }

既知の問題と対策

上記のように記載すると、XSD による検証によって、package 要素の xmlns 属性に "{0}" を指定しなければならない。 これは、そのように XSD に明記されているためだが、このままではパッケージ化することはできない。

nuget pack コマンドでは、xmlns で指定可能な名前空間は 6 種類の URI のいずれかでなけらばならいようにコーディングされているので、いずれかの URI にするか xmlns 属性を消去する必要がある。*1

実際の判定コードは以下にある。

github.com

*1:指定しない場合、既定で "http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd" が使われるようだ




以上の内容はhttps://azukipochette.hatenablog.com/entry/2022/11/02/164319より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14