这是一个令人费解的东西 - 一些我认为不会起作用的东西(在那里并不奇怪)。
我们有一个在其他一些桌面应用程序项目中引用的库项目。该库项目是用VS 2005(.NET 2.0)编写的。
我的问题是我们的一些应用程序暂时仍然存在于VS 2005中(出于各种原因)。我似乎无法在VS 2010中引用这个库项目而没有要求我将它升级到.NET 4,如果我这样做,那么就会破坏我在VS 2005项目中作为参考包含它的能力。
这种东西炸掉了我的大脑。有什么方法可以让我的工作吗?
答案 0 :(得分:1)
如果您确实尝试将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解决方案中。