7

我有一个包含多个项目的Visual Studio解决方案,并已将项目之间的引用设置为项目引用。如何在Visual Studio中为项目引用设置“特定版本”属性

当添加到一个组件的引用,引用属性包含用于

Specific Version = True|False

此属性缺少项目引用的设置。它如何设置?我想我的解决方案加载bin文件夹中的任何可用程序集(不管是什么版本)。

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

回答

1

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

感谢大家试图帮助。

3

我可能会误解你的问题,但是当你添加一个项目引用时,项目的程序集总是被加载到任何在项目生成时引用它的项目中。因此,您将始终在该项目的bin文件夹中拥有最新的可用装配。 VS在这方面比其他议会不同。

+0

我已经更新了这个问题。我想在bin文件夹中加载任何可用的版本。 当工作流实例(Workflow Foundation)被反序列化并且依赖关系被更新时,我遇到了问题。 – 2009-05-27 13:42:07

1

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

+0

感谢您的回答。但是,你如何处理调试和发布程序集?他们在不同的文件夹中。 – 2009-05-27 13:56:53

+1

您可以通过编辑.csproj文件(例如,)来使用中的变量。 $(OutDir)\ Referenced.dll .. \ Referenced \ bin \ $(Configuration)\ Referenced.dll 2009-05-28 07:34:18

6

我认为问题在于你所问的问题不可能直接用于项目引用,因为链接的性质,我认为这总是隐含地变成了“明确的版本”。

这就是你可以做到这一点(调用目前引用的项目A,并参考项目B):

  • 有你想在你的解决方案来引用该项目,就像你现在做的项目引用
  • 精确设置依赖关系链,因此“引用”项目是建立第一
  • 生成引用的项目甲一旦第一手动
  • 创建项目B中的组件的参考从项目生成结果的
  • 设置于装配基准为“特定版本=假”

构建顺序(依赖)将保证一个总是在B之前建成,而B将引用它从二进制输出目录A.

(即使它有点脆弱,我不会推荐它,因为如果设置不正确,或者太阳与星星对齐错误,容易得到错误的结果,或者一些这样的)

+0

您可以通过打开来支持为不同的构建配置(Release/Debug)匹配引用的项目的输出文件夹文本编辑器中的“ProjectB.csproj”文件,并将“”更改为(例如) .. \ ProjectA \ bin \ $(Configuration)\ ProjectA.dll' – Alain 2015-09-08 14:54:40

相关问题