4

わかりました、VS 2008 と SVN があります。「すべてを再構築」すると、一握りの.dllがbinフォルダーから消えます。

これらの .dll はライブラリ フォルダーにあり、そこから参照しています。

アプリを公開しようとすると、公開に失敗しますが、それらは関連していると思います。web.config (何かを変更して保存) を再起動すると、このエラーはなくなります。ただし、発行はまだ失敗します。

フォルダーに移動してsvnを更新すると、もちろんそれらすべてが元に戻りますが、その後、もう一度やり直します。

ありがとうございました。

4

5 に答える 5

4

「Bin」フォルダーとは、Visual Studio がアプリケーションの実行可能バージョンをアセンブルするビルド場所を意味すると思います。

一般に、Bin フォルダーを手動で変更することは、「新しい苦痛の世界」に遭遇する良い方法であることがわかりました。Visual Studio にディレクトリの処理を任せるとすぐに問題は解決し、そのままにしておきました。

プロジェクトから参照されている DLL がある場合は、それらを "ローカルにコピー" としてマークすると (ソリューション エクスプローラーでそれらを選択し、[プロパティ] パネルで構成します)、Visual Studio によってそれらがコピーされます。

補足: Bin ディレクトリは Visual Studio によって管理され、完全に再現可能であるため、それ (および兄弟の Obj) をソース管理下に置かないことをお勧めします。

于 2008-11-14T06:57:44.880 に答える
2

参照で「ローカルにコピー」を指定する必要があります。これにより、参照がライブラリ フォルダーから bin ディレクトリにコピーされます。通常、ソース管理 (ライブラリ フォルダー内) には DLL のコピーを 1 つだけ保持する必要があります。bin フォルダーのソースを管理している場合、ビルドで問題が発生する可能性があります。

于 2008-11-14T03:28:20.793 に答える
0

ビルド手順により、ビルド時に bin ディレクトリの内容が削除されるようです。

ライブラリフォルダーからそれらを参照していると言っている場所がわかりません-そして、それらはbinディレクトリにも存在します。

他の理由でパブリッシュが失敗している可能性があります。エラーを投稿することが最も役に立ちます。

SVN を更新すると、ファイルが最新バージョンに戻ります。そのため、ファイルがない場合、最新バージョンはリポジトリに存在するバージョンです。

確認事項:

  • ビルドでエラーが発生している可能性があります。DLL がソリューション内の他のプロジェクトから実際に出力されているように思われるため、それらが正しくビルドされているかどうか、または bin フォルダーではなく別のディレクトリに出力されているかどうかを確認する必要があります。

  • Subversion リポジトリには、おそらく dll、lib、exe、suo、ncb などのバイナリ ファイルまたは中間ファイルを含める必要はありませんが、これらが主なものです。

  • ここに詳細を投稿してください-その音から、ここに投稿しなかったエラーを見落としている可能性があります.

于 2008-11-14T03:26:36.880 に答える
0

Rebuild を使用しているときにこれを見たことがあります。これらの参照 dll を Explorer 属性で ReadOnly としてマークすることで修正しました。

ええ、それはハックですが、VS の足を私の dll から遠ざけました!

于 2008-11-14T03:30:03.520 に答える
0

Web アプリケーション プロジェクトではなく、デフォルトの Web サイトを持っている可能性があります。

于 2009-08-13T19:20:54.313 に答える