web-dev-qa-db-ja.com

ビルド時にC#の出力ディレクトリに他のファイルを含める方法

アプリケーションが機能するために必要なライブラリファイルがいくつかあります。
私のアプリケーションにはセットアップとデプロイメントが含まれています。

インストール時にライブラリファイルをアプリケーションの出力ディレクトリに追加するためには、.NET IDEをビルドする前に...唯一の問題は、これらのライブラリを参照できないことです...したがって、これらのライブラリをアプリケーションのインストールディレクトリにコピーできるようにする必要があります...現時点では、これらのライブラリを手動でコピーしています...

補遺

また、これらのライブラリファイルをプロジェクトにExisting Itemとして追加し、各ライブラリファイルにマークを付けようとしました出力ディレクトリにコピー to 新しい場合にコピーそれらのプロパティについては、まだ希望する解決策が得られません。

更新1

私の問題を解決するのを助けてくれた皆さんに感謝します、私はあなたが投稿した解決策を1つを除いて動作させることができました... @Matthew Watsonの投稿。 。

私がやったこと:

1. I opened the setup and deployment project in my application.  
2. Under the Application Folder Tree, on it's right side, I right clicked..  
3. then clicked Add..  
4. then clicked File  
5. and then browsed for the files I wanted to add to the installation directory  
6. and click open.  

しかし、好奇心から...私はまだ@Matthew Watsonが投稿したものを作成しようとしています...この人たちで私を助けてくれることを願っています。前もって感謝します

更新2

昨日、この投稿を更新するのを忘れていました。マシューワトソンのソリューションを昨日機能させることができました。助けてくれてありがとう。

45
chad

プロジェクトにファイルを追加して、そのプロパティを選択できます:"Build Action""Content"として、"Copy to output directory""Copy Always"またはCopy if Newerとして(後者は、プロジェクトをビルドするたびにプロジェクトが完全に再構築されるため、後者が望ましいです)。

次に、これらのファイルが出力フォルダーにコピーされます。

Visual Studioはファイルがプロジェクトの一部であることを認識するため、これはビルド後のステップを使用するよりも優れています。 (これは、Clickonceデータに追加するファイルを知る必要があるClickOnceアプリケーションなどに影響します。)

また、ビルド後の手順で非表示になるのではなく、ソースコードファイルと共にリストされるため、プロジェクト内のファイルをより簡単に確認できます。また、ソース管理もより簡単に使用できます。

プロジェクトに「コンテンツ」ファイルを追加したら、次のようにしてそれらをVisual Studio 2010セットアップおよび配置プロジェクトに追加できます。

セットアッププロジェクトに移動し、"Application Folder"出力に"Content Files"というプロジェクト出力を追加します。追加後にコンテンツファイルを右クリックすると、「出力」を選択して、コピーする内容を確認できます。

セットアップおよび配置プロジェクトはVisual Studio 2012ではサポートされていないことに注意してください。

69
Matthew Watson

Visual Studioビルド後イベント-相対ディレクトリの場所にコピー を使用できます。基本的には、指定されたプロジェクトのビルド時に実行されるスクリプトです。

したがって、必要なバイナリをコピーするためにそれを使用できます。before実際にアプリケーションを実行します。

4
Tigran