2011-10-15 98 views
3

我发现一个用户的硬件迫使我使用.NET 4.0而不是.NET 3.5(视频驱动程序问题)。但是,我的大部分用户都没有.NET 4.0。什么是构建我的解决方案的好方法,以便我可以同时定位这两个解决方案。对于这个问题,假设我有一个MyClass.dll项目和一个MyApp.exe。 MyClass和MyProject都需要.NET 3.5或.NET 4.0。多引导.NET 3.5和.NET 4.0引用程序集

我有两个解决方案吗?四个项目?以某种方式配置输出?使用链接?谢谢。我猜这样的事情可能工作(但它是最好的做法)

enter image description here

在这种情况下,我使双方MyClass.dll的输出,匹配默认命名空间。

+0

为什么你不能到处在这种情况下,目标3.5设备?或者你有需要4.0的功能? – BrokenGlass

+0

.Net 4.0运行时可以运行.Net 3.5程序,所以你不能只瞄准3.5? – Falanwe

+0

我的一个用户拥有一台支持触摸功能的笔记本电脑 - 当所述笔记本电脑连接到外部显示器时,WPF AllowsTransparency导致3.5(但不低于4.0)的崩溃 - 不要问我调试需要多少小时这个。 – tofutim

回答

2

您可以只部署一次,修改App.Config中requiredRuntime element的部分需要.NET 4.0运行时

+0

没错,但我想确保那些没有的人。 NET 4.0不必下载它,因为我们有许多海外用户,如果他们必须更新.NET版本,他们将会受到影响。 – tofutim

1

如果您不使用.NET 4.0的功能,则不需要两个项目。你只需要编译两次并且每次都定位一个不同的框架。 您可以在项目属性的应用程序选项卡上找到此选项。

不要忘记在两代之间保存输出文件,或者在更改目标框架时更改输出路径。

+0

这里的问题是他的视频卡在.NET 3.5中无法正常工作,尽管它与.NET 4.0一起工作。当在WPF窗口中激活AllowsTransparency时,会在显示窗口时导致整个应用程序崩溃。 – tofutim

+0

现在你最好的选择是制作一个专门用于这种显卡的软件版本,其中你不会允许透明... – GianT971

相关问题