12

このリンクHow do I create an XML Intellisense file for my DLL?は、すべてのドキュメントヘッダーを含むXMLファイルが含まれるようにdllを構築する方法を説明し、IntelliSenseポップアップで利用できるようにします。XMLインテリセンスデータを含むNuGetパッケージの作成方法

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

+0

も参照してください。http://stackoverflow.com/q/5205738/284795 –

答えて

14

NuGetパッケージを使用してxmlファイルをdllと同じフォルダに配布すると、Visual Studioはこれらのxmlファイルを見つけて、アセンブリのインテリセンスを表示します。

あなたがたとえば、あなたの.nuspecファイルに追加する必要がありますインテリセンスのxmlファイルをdistibuteするには:

<files> 
    <file src="bin\IronPython.dll" target="lib\Net40" /> 
    <file src="bin\IronPython.xml" target="lib\Net40" /> 
</files> 
+0

私はすでにこれを試しています。私が見逃していた部分は、パッケージを作成する前に.nuspecファイルに.xmlファイルを記述する必要があるということでした。あなたはこれを言いたいことができますか? – David

6

TL; DRドキュメントファイルは、I .xmlない.XML

する必要があります「ビルド」タブを使用してプロダクションを最初に有効にし、出力セクションのXMLドキュメントファイルをチェックすることで、XMLファイルを取得することができました。注:何らかの理由で、私は手動で拡張子を.XMLから小文字の.xmlに変更しなければなりませんでした。 YMMV。これはあなたが参照した質問How do I create an XML Intellisense file for my DLL?と同じです。

完了したら、プロジェクトディレクトリに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を参照してください。

+1

大文字のXMLを小文字のxmlに変換してくれました。どちらが悲しいですか。 –

+0

悲しいですが、それはうまく動作します。 – AgentFire

関連する問題