2010-12-08 12 views
1

参照された複数のDLLをプロジェクトのbinフォルダから共有プロジェクトの特別なLibrariesフォルダに移動しました。 VSがDLLの新しい場所からbinフォルダにコピーしようとしているので、今私はいくつかのビルドエラーが発生します。TFSがすべてのDLLを読み取り専用にするため、Local for dll referencesが失敗する

私はこれを非常に簡単に、デフォルトのTFS読み取り専用ではなく、ビルドフォルダの読み書き可能にすることで解決できますが、ソリューション全体をもう一度チェックするとすぐに問題が繰り返されるのを防ぐにはどうすればいいですか?

+0

なぜ、バージョン管理下にbinフォルダの内容がありましたか? binとobjのような生成されたフォルダは、正当な理由でバージョン管理(プロジェクト/ソリューションをvcsに追加するとき)に自動的には追加されません。 –

+0

私は、プロジェクトの作成者がdllのbinフォルダを使用していたので、明示的にソース管理下に置いたからだと思います。 – ProfK

答えて

1

上記のコメントは正確です。少なくとも、開発ブランチにはないバイナリをチェックインするのは正当な理由はありません。正当な理由がある場合があります(例えば、バイナリを運用中のものに対して監査する必要がある場合など)。彼らがそこにいる必要がない場合は、TFS管理者にアイテムにTF DESTROYを実行させてから、再度チェックインしないように注意してください。

言い換えれば、これをやり続ける必要がある場合は、いくつかのことをする必要があります。

まず、ソースのときにbinフォルダを「チェックアウト」する必要があります。これにより、すべてのバイナリが書き込み可能になります。

ただし、これを行うと、TFSはデフォルトですべてのバイナリに排他ロックを設定します。これを防ぐには、これらのファイルをマージ可能にするようにTFSに指示する必要があります。 TFSの管理者になるか、または管理者に以下の手順を実行させる必要があります。 Visual Studioの2010年に

  • 接続TFS
  • チームメニューの下
  • に、このメニューでチームプロジェクトコレクション設定
  • を選択ソース管理ファイルの種類を選択してください。これでダイアログが表示されます。ダイアログ編集次のダイアログで
  • をリストに実行可能ファイルを見つけてクリックします
  • 、チェックは、マージファイルを有効にして、複数のこのダイアログボックスを閉じるには、[OK]
  • クリックをチェックアウトして、[OK] ファイルタイプダイアログを閉じます。

今では複数のユーザーが一度に実行可能ファイルをチェックアウトできます。

関連する問題