12

カスタム DLL への多数のプロジェクト参照を含む VS 2008 C# Web アプリがあります。これらはすべて、Web プロジェクトからの相対パスにあります。最近、Clean Solution が Web アプリの bin\debug フォルダーからすべてではなく一部の dll を削除することに気付きました。例えば:

<Reference Include="TowerCo.Utilities, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Components\TowerCo.Utilities\bin\Debug\TowerCo.Utilities.dll</HintPath>
</Reference>
<Reference Include="TowerCo.WebControls, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Components\TowerCo.WebControls\bin\Debug\TowerCo.WebControls.dll</HintPath>
</Reference>

最初のものは正常に動作します (clean はそれをクリーンアップし、新しいバージョンは再構築時に Web プロジェクトにコピーされます) が、2 番目は動作しません。副作用は、依存関係の変更を自動的に取得しないことです。

助けてくれてありがとう。

4

2 に答える 2

4

「知っている」ファイルのみを削除するようです。

たとえば、古いライブラリ ファイルや、プロジェクトの名前を変更した後の古い参照が残っています。非常に奇妙な。私はいつも「クリーン」は単純な削除だと思っていましたが、そうでない理由がよくわかりません。疑わしい場合は、各フォルダーに入って手で確認してください。

于 2013-01-15T04:24:15.557 に答える
2

バージョンが同じ場合、VSが最新のdllを選択しないことがあります。AssemblyInfo.cs でバージョンを変更してみてください。動作するはずです。

過去に、サイズ/タイムスタンプに依存していたときに同じ問題に直面しましたが、バージョンを変更することで、Studio が古い DLL を削除し、新しい DLL をコピーすることに後で気付きました。

于 2011-02-15T05:47:30.160 に答える