12

我有一个 VS 2008 C# Web 应用程序,其中包含一堆对自定义 dll 的项目引用。这些都位于 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 项目)但第二个没有。副作用是我不会自动获取对依赖项的更改。

谢谢你的帮助。

4

2 回答 2

4

它似乎只会删除它“知道”的文件。

例如旧的库文件和重命名项目后的旧引用仍然存在。很奇怪。我一直认为“干净”只是一个简单的删除——我不太明白为什么不是这样。如有疑问,请进入并手动检查每个文件夹。

于 2013-01-15T04:24:15.557 回答
2

如果版本相同,有时 VS 不会选择最新的 dll。尝试在 AssemblyInfo.cs 中更改您的版本,它应该可以工作。

过去,我在依赖大小/时间戳时遇到了同样的问题,但后来我意识到通过更改版本,Studio 会删除旧的 DLL 并复制新的 DLL。

于 2011-02-15T05:47:30.160 回答