我应该如何对我的项目dll进行版本控制,以便在将它们从一个解决方案复制到另一个解决方案时,新解决方案始终使用最新版本

时间:2011-09-09 05:04:30

标签: .net visual-studio

我在不同的文件夹中有两个解决方案。以下是文件结构的示例:

  • C:\ VSProjects \ FooSolution \
  • C:\ VSProjects \ FooSolution \ DllLibrary \
  • C:\ VSProjects \ FooSolution \ FooProject \
  • C:\ VSProjects \ FooSolution \ FooProject \ FooProject.csproj
  • C:\ VSProjects \ MyUtilitiesSolution \ MyUtilities.sln
  • C:\ VSProjects \ MyUtilitiesSolution \ MyUtilities \ MyUtilities.csproj

FooProject需要引用MyUtilities.dll。因此,在MyUtilities中进行更改后,我手动将其dll从MyUtilities \ bin \ Release \复制到FooSolution的DllLibrary文件夹中。

在FooProject中,我在DllLibrary文件夹中添加对MyUtilities.dll的引用。

到目前为止,这个设置听起来如何?

我遇到的问题是FooProject一直在混淆并使用旧版本的MyUtilities dll。我只是希望FooProject始终使用DllLibrary中的dll。如何进行设置,以便FooProject始终使用DllLibrary文件夹中的dll版本?

2 个答案:

答案 0 :(得分:1)

您可以使用项目属性中的post build命令行选项。使用XCOPY命令从特定文件夹复制到另一个..

选项可用 - >在VS和属性中选择项目 - >建立活动

希望它有所帮助...

答案 1 :(得分:0)

FooProject.csproj中的引用看起来如何?您可以尝试摆弄指定参考的方式,例如:我改变了

<Reference Include="MyUtilities, Version=1.0.XX.YY, Culture=neutral, PublicKeyToken=blahblahblah, processorArchitecture=x86">
  <SpecificVersion>True</SpecificVersion>
  <HintPath>C:\VSProjects\FooSolution\DllLibrary\MyUtilities.dll</HintPath>
  <Private>True</Private>
</Reference>

<Reference Include="MyUtilities">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>C:\VSProjects\FooSolution\DllLibrary\MyUtilities.dll</HintPath>
  <Private>False</Private>
</Reference>