2012-01-06 11 views
0

私は一般に公開されることを望む市販の.NET開発者ライブラリに取り組んでおり、エンドユーザー(開発者)に提供する.DLLのバージョンを知りたいと考えています。開発ツールにはどのような.NETライブラリの種類とバージョンが必要ですか?

.DLLは、私が予測できないさまざまな環境で実行される可能性があります。

私の現在の計画を提供することである。

  • .NET3.5と.NET4コンパイルされたバージョン
  • 両方の各バージョンは、32ビットと一つコンパイル64ビットをコンパイルし、任意の符号なし
  • 一つを締結

完全に8種類。

これは良い戦略ですか?

また、32ビットと64ビットの両方の環境でDLLを実行する人のために、「AnyCPU」コンパイル済みバージョンを作成する必要がありますか?

私は自動化されたビルド/パッケージ化で簡単にできるので、これらのすべてのエディションをやっている余分な作業は気にしません。

+1

32ビット/ 64ビットのビルドをスキップして、どのCPUプラットフォームで実行されているかについてアセンブリが気にしない場合は、Any CPUビルドを出荷します。すべてのCPUは、アセンブリが32ビットまたは64ビットのランタイムに固有ではなく、いずれかで使用できることを意味します。署名されていない/署名されたバージョンを提供する際のポイントは何ですか?なぜ "署名"していないのですか?現実的に私はなぜ2を出荷できないのか分かりません。 1つはCLR v2用、もう1つはCLR v4用です。 – vcsjones

+0

あなたのアプリケーションは本当にコンパイルの恩恵を受けていますか? –

+0

なぜ異なるバージョンの開発者は、64ビットの署名付きアプリケーションを開発する場合、私は彼が署名された64ビットのDLLであることを望んでいると仮定します。そのDLLは幾分perfに重大です。 – Andy

答えて

1

ライブラリのビルドは、32ビットまたは64ビットとして行う必要はありません。プロセスの「ビット数」は、.exeファイルとOSによってアプリケーションの起動時に決定されるためです。あなたが選んだのは問題ではありません。ただし、ライブラリに実行可能ファイルがある場合は、32ビットビルドが必要な場合があります。これは、アプリケーションがサードパーティの32ビットライブラリ(COM相互運用機能を使用)に依存している場合にのみ該当します。

署名された/署名されていないジレンマに関して、私はあなたがなぜ両方を出荷すべきかわかりません。開発者に制約をかけたい場合は、signedを使用します。それ以外の場合は、署名なしのままにしておきます。

+0

*常に*強い名前は、後でやるのが非常に難しいです。そして1つを持つことは全く負担ではありません。 –

関連する問題