2

単体テストを行うときに使用したい単純なクラスがあります。NuGet パッケージを作成して、簡単に使用し、ソリューション間で更新を分散できるようにしたいと考えています。

そのアセンブリを作成する必要がありますか、それともソース ファイルのみを含む NuGet パッケージを作成し、それを他のすべてのものと一緒にコンパイルすることは可能ですか? もしそうなら、そのパッケージをどのように構成しますか?

4

3 に答える 3

6

ソース コード ファイルだけでパッケージを作成する場合は、簡単です。詳細については、このブログ投稿を参照してください。

まず、コード ファイルを作成し、(たとえば) myFile.cs.pp として保存します (拡張子 pp (プリプロセッサ) に注意してください。名前空間などのために、ファイルに対していくつかの前処理を行うことができます。追加するには.MySubNameSpace の名前空間で、コード ファイルの宣言を次のように変更します namespace $rootnamespace$.MySubNameSpace Add this file to the content section of the nuget package. Build the package, and you're all set.

.nu​​pec パッケージ ファイルは次のようになります。

<?xml version="1.0" encoding="utf-16"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>MyPackageName</id>
        <version>1.0.0</version>
        <title>My Package Name</title>
        <authors>Your Name</authors>
        <owners />
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>My package description.</description>
    </metadata>
    <files>
        <file src="content\myCodeFile.cs.pp" target="content\myCodeFile.cs.pp" />
    </files>
</package>

これらはすべてNuGet パッケージ エクスプローラーを使用して行うことができます。

于 2012-09-21T12:43:30.910 に答える
2

編集:他の回答が言ったように、NuGetを使用すると、単純なソース コードを配布できますただし、アセンブリを提供するだけのより主流なアプローチを取ることを強くお勧めします。NuGet を使用すると、これを非常に迅速に行うことができます。この 1 つのソース ファイルに対して別のプロジェクトを作成し、そのアセンブリのパッケージを作成するという「苦痛」を経験する必要がありますが、それはすべて非常に簡単です。

これには、(ほぼ必然的に)より多くのタイプを追加したい場合に、それに依存するプロジェクトに問題が発生しないという追加の利点があります。

于 2012-09-21T12:25:47.033 に答える
0

ここで参照されているコンテンツフォルダを使用するだけです。Nuspecリファレンス(「コンテンツファイル」セクションを探してください)

<file src="css\mobile\*.css" target="content\css\mobile" />
于 2012-09-21T12:36:30.203 に答える