使用VS 2010,我可以参考在VS 2005中创建的项目吗?

时间:2011-01-12 22:21:15

标签: visual-studio-2010 visual-studio-2005

这是一个令人费解的东西 - 一些我认为不会起作用的东西(在那里并不奇怪)。

我们有一个在其他一些桌面应用程序项目中引用的库项目。该库项目是用VS 2005(.NET 2.0)编写的。

我的问题是我们的一些应用程序暂时仍然存在于VS 2005中(出于各种原因)。我似乎无法在VS 2010中引用这个库项目而没有要求我将它升级到.NET 4,如果我这样做,那么就会破坏我在VS 2005项目中作为参考包含它的能力。

这种东西炸掉了我的大脑。有什么方法可以让我的工作吗?

4 个答案:

答案 0 :(得分:1)

嗯,这没有多大意义。您没有引用“库项目”,您引用它生成的DLL。项目+添加参考,浏览选项卡。没有已知的问题,在95%的准确度猜测中,混合模式组件有一些毛发。

如果您确实尝试将vs2005 项目加载到vs2010解决方案中,那么是的,它将尝试转换项目文件。这转变为vs2005紧张性精神病,它没有时间机器来猜测vs2010项目的样子。只需复制项目目录即可解决该问题。

答案 1 :(得分:0)

在将项目版本修改为.NET 4.0后,您能否在.NET.NET 2010中将.NET版本更改回3.5或2.0?

答案 2 :(得分:0)

使用文件引用内置的dll,而不是项目引用。

您可能还会发现需要添加额外的compatible-framework info to your manifest file来告诉.net,以允许.exe将.net 4和.net 2程序集并排使用 - 如果它不存在的话你刚刚在启动时遇到错误。 (对不起,我不记得确切的细节,我现在不能在我的工作机器上找到它们 - 但如果你在运行时遇到问题,错误信息应该会引导你找到你需要的确切解决方案)

更正:我在想这个'useLegacy'启动设置,如果你想混合使用.net 2.0和.net 4.0程序集,你可能需要添加到app.config中在您的申请中:

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

答案 3 :(得分:0)

在选项上,这是一个完整的PITA,但应该起作用:

在2010年创建一个包含2005项目文件所有内容的新项目文件。只需将其命名为MyProject2010.csproj或其他。

然后,将此项目添加到2010解决方案中。