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

kay*_*zam 7 c# assemblies workflow-foundation visual-studio-2008 visual-studio

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

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

Specific Version = True|False

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

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

jer*_*jvl 6

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

可以这样做的方式(调用当前引用的项目A和引用项目B):

  • 在解决方案中包含要引用的项目,就像现在使用项目引用一样
  • 显式设置依赖关系链,以便首先构建"引用"项目
  • 首先手动构建引用的项目A.
  • 在项目B中创建一个程序集引用到项目A中的构建结果
  • 将程序集引用设置为"Specific Version = false"

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

(虽然,它有点脆,我不推荐它,因为如果设置不正确,或者太阳与星星错误对齐,或者某些如此,很容易得到错误的结果)


kay*_*zam 1

我已经找到了解决我的问题的方法。这里描述得非常详细。问题不是错误的项目引用问题,而是工作流实例的反/序列化问题。

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