0

申し訳ありませんが、ここで少しおかしな質問があります... Googleで1時間過ごし、MSのヘルプドキュメントでは、私の頭が間違った場所にあるように見えます。これを理解することはできません。

Visual Studio 2012でC#プロジェクトをセットアップしました。このプロジェクトには、自分のハードドライブにあるいくつかの.dll(ExcelInteropの場合はNetOffice.dll)への参照があります。参照フォルダを右クリックし、[参照の追加]に移動してから、[参照]に移動してファイルを検索することで、それらを追加しています。その時点でそれらは含まれており、すべてが私の側で期待どおりに機能します。

プロジェクトを共有すると問題が発生します。私はGitを使用して、自分と2人のチームメンバーの間でプロジェクトを調整しています。コミットを実行してプッシュしてから、チームメイトにプルを実行させます。彼のコンピューターにはすべてが正しく表示されますが、プロジェクトを開くと、NetOffice.dllが見つからないことがわかります。

これは、ファイルがコンピューター上でローカルにのみリンクされているためだと思いますが、プロジェクトと一緒に移動するように、ファイル構造に.dllを存在させる方法がわかりません。押すと。

使用しているNuGetパッケージもいくつかありますが、転送後は問題なく機能しているようです。NetOfficeの.dllプロパティにもアクセスし、[ローカルコピー]をに変更しましたがtrue、まだ含まれていません。

私が望んでいるのは、参照をリンクしてから、すべて(dllを含む)をチームメイトに送信できるようにすることです。何が間違っているのでしょうか。プロジェクト構造に.dllを単純に含めたいと思いましたが、...私は何かを理解していません。何か助けてください?

4

3 に答える 3

2

1 ソリューション ファイルと同じレベルのファイル システムにフォルダーを作成します。
2 外部 dll をそのフォルダにコピーします。
3 ソリューションにソリューション フォルダを追加します。
4 add existing item を使用して各 dll をソリューション フォルダに追加します
5 ソリューション内の DLL を参照します

手順 3 と 4 は実際には必要ありませんが、物事を整理するのに役立ちます。

于 2013-02-18T20:30:26.050 に答える
1

バイナリを git リポジトリに含めることはお勧めできませんが、そうすることで問題が解決します。

簡単な修正はlib、リポジトリ内の適切な場所にディレクトリを作成することです (私は C# 開発者ではありませんが、Gama Felix の提案は正しいようです)。

次に、これらのフォルダーをコミットし、サーバーにプッシュします。

于 2013-02-18T20:33:14.090 に答える
1

ソース管理のルート フォルダーがSourceRoot と呼ば れ
、ソリューション ファイルが JaySolutionFolder というフォルダーの下
ある
ます。 この dll 参照を SharedDlls からプロジェクトに追加します。 このフォルダーをコミット する チームメイトは JaySolutionFolder と SharedDlls を入手してソースをコンパイルする必要があります。 後で、この SharedDlls をビルド プロセスのターゲット ディレクトリにすることができます ( TFS Bulid、NANTなどのツールを使用) 。これにより、チーム ベースの開発の問題を最小限に抑えることができます。






リリースとソフトウェアのインストールでは、インストーラーまたはinstallshieldVisual Studio Setup Packageなどのソフトウェア パッケージ ビルダーを使用して、外部 dll の問題を解決でき ます。

于 2013-02-18T20:59:36.023 に答える