如何在Visual Studio中为项目引用设置“特定版本”属性

时间:2009-05-27 13:30:24

标签: c# visual-studio visual-studio-2008 assemblies workflow-foundation

我有一个包含多个项目的Visual Studio解决方案,并已将项目之间的引用设置为项目引用。

添加对程序集的引用时,引用的属性包含

的设置

Specific Version = True|False

项目引用缺少此属性。怎么设置?我希望我的解决方案能够在bin文件夹中加载任何可用的程序集(无论哪个版本)。

当反序列化工作流实例(Workflow Foundation)并同时更新依赖项时,我遇到了问题。

4 个答案:

答案 0 :(得分:6)

我认为问题在于你所要求的是不可能直接使用项目引用,我认为由于链接的性质,我总是隐式地变成'显式版本'。

可以执行此操作的方式(调用当前引用的项目A和引用项目B):

  • 让您在解决方案中引用项目,就像现在使用项目参考
  • 一样
  • 明确设置依赖关系链,以便首先构建“引用的”项目
  • 首先手动构建引用的项目A
  • 在项目B中创建一个程序集引用到项目A中的构建结果
  • 将程序集引用设置为“Specific Version = false”

构建顺序(依赖)将保证A始终在B之前构建,B将从A的二进制输出目录引用它。

(但是,它有点脆,我不推荐它,因为如果设置不合适,或者太阳与星星错误对齐,或者其他一些错误,很容易出错)

答案 1 :(得分:3)

我可能会误解您的问题,但是当您添加项目引用时,项目的程序集始终会加载到构建项目时引用它的任何项目中。因此,您将始终在该项目的bin文件夹中拥有最新的可用程序集。在这方面,VS对待项目的方式与其他组件不同。

答案 2 :(得分:1)

您可以添加对项目输出dll的引用,而不是项目。然后您就可以设置特定版本设置。

答案 3 :(得分:1)

我找到了解决问题的方法。它的描述非常详细here。 问题不在于错误的项目引用,而在于更多工作流实例的de / serializing问题。

感谢所有试图提供帮助的人。

相关问题