18

このリンクDLL 用の XML Intellisense ファイルを作成するにはどうすればよいですか? これらの IntelliSense ポップアップで使用できるように、すべてのドキュメント ヘッダーを含む XML ファイルが含まれるように dll を構築する方法について説明します。

私の会社では、内部の NuGet パッケージ ソースを使用して独自の dll を頻繁に配布しています。パッケージ ソースの NuGet パッケージを作成するとき、他のユーザーがパッケージ ソースから dll を取得できるようにするにはどうすればよいですか? IntelliSense はそれらのドキュメント ヘッダーを表示しますか?

4

2 に答える 2

15

XML ファイルをNuGet パッケージと共に同じフォルダーに配布するとDlls、Visual Studio はこれらの XML ファイルを検出し、アセンブリの IntelliSense を表示します。

IntelliSense XML ファイルを配布するには、それらを に追加する必要があります.nuspec file。次に例を示します。

<files>
    <file src="bin\IronPython.dll" target="lib\Net40" />
    <file src="bin\IronPython.xml" target="lib\Net40" />
</files>
于 2012-10-27T12:50:14.033 に答える
6

tl;drドキュメント ファイルは.xml.XML

最初に [ビルド] タブを使用してプロダクションを有効にし、[出力] セクションで XML ドキュメント ファイルを確認することで、含まれている XML ファイルを取得できました。注: 何らかの理由で、拡張子を .XML から小文字の .xml に手動で変更する必要がありました。YMMV。これは、参照した質問と同じです。DLL 用の XML Intellisense ファイルを作成するにはどうすればよいですか? .

完了したら、プロジェクト ディレクトリに Nuspec ファイルを作成しました。これはサンプルです。これを使用して生成することもできますnuget spec MyAssembly.dllが、必ず編集して値を適切に設定してください。

<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>1.0.0</version>
    <title>Title for your package</title>
    <authors>Package Author</authors>
    <owners>Package Owner</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>A description of your library</description>
    <releaseNotes>Release notes for this version.</releaseNotes>
    <copyright>Copyright 2013</copyright>
    <tags>tag1 tag2</tags>
  </metadata>
</package>

それが完了したら、Nuget を使用してパッケージ化しました。64ビットOSを使用しているため、プラットフォームを指定する必要がありましたが、プロジェクトにはx64のターゲットがなく、AnyCPUのみであることに注意してください

nuget pack MyAssembly.csproj -Prop Configuration=Release;Platform=AnyCPU -build

アセンブリとそれに関連するドキュメントは、パッケージに自動的に含まれています。さらに、プロジェクトで使用したすべてのパッケージが依存関係リストに追加されます。

詳細については、 http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-packageを参照してください。

于 2013-08-23T20:55:43.353 に答える