在.Net Framework 3.5启动项目中使用.Net Framework 4.5项目参考

在.Net Framework 3.5启动项目中使用.Net Framework 4.5项目参考,.net,vb.net,.net-3.5,.net-4.5,.net,Vb.net,.net 3.5,.net 4.5,我们有一个在.Net Framework的3.5版本中构建的项目。我们将该项目更新为.Net Framework的4.0版本,在解决了所有问题后,我们注意到web服务初始化过程中存在明显的滞后 我们将项目恢复到3.5框架,这解决了我们的滞后问题。我们还有第二个项目依赖于4.5框架DLL的使用,因此第二个项目需要在4.5版本中构建 我知道以前有人问过这个问题,答案一直是不可能的——但这是可能的,因为我们实际上按照下面msdn论坛上提供的步骤使用了这个确切的结构,但是使用了运行时,而不是仅使用所示的

我们有一个在.Net Framework的3.5版本中构建的项目。我们将该项目更新为.Net Framework的4.0版本,在解决了所有问题后,我们注意到web服务初始化过程中存在明显的滞后

我们将项目恢复到3.5框架,这解决了我们的滞后问题。我们还有第二个项目依赖于4.5框架DLL的使用,因此第二个项目需要在4.5版本中构建

我知道以前有人问过这个问题,答案一直是不可能的——但这是可能的,因为我们实际上按照下面msdn论坛上提供的步骤使用了这个确切的结构,但是使用了
运行时,而不是仅使用所示的4.0


问题是我们向Web服务重新添加了一个全新的服务调用,现在当我们尝试访问项目引用时,它抛出了一个错误,即它正在访问一个构建在较新版本上的项目,从而导致BadImageFormatException

在上面的论坛中讨论了这个确切的错误,并指出您需要将标准2.0参考和4.0参考作为
的一部分包含在
中,我们在中有这两个参考

<startup>
    <supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>

我认为问题在于app.config没有同时加载两个运行时。我认为这是因为如果我们像下面这样切换SupportedTime的顺序

<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    <supportedRuntime version="v2.0.50727"/>
</startup>

每当我们试图访问任何3.5框架引用时,就会出现错误

现在,添加supportedRuntime的顺序很重要-在第二组代码中,它更喜欢使用4.5版本而不是3.5框架,但它应该尽可能使用3.5框架,对吗?我在这里可能有点离谱,但就像我说的,我们已经开始工作了——不幸的是,我没有为我的代码集创建标签,所以我不能回到工作代码集


有人能想出我可能缺少的东西吗?或者有人能告诉我是否有可能专门告诉一组代码来利用vb.Net中的4.5框架吗?

我很确定您只需要一个受支持的运行时,至少在运行时,因为每个进程只加载一个运行时


我非常自信,因为我一直在使用该配置,3.5编译的DotLisp运行在最新的框架上,因此我可以访问DotLisp REPL中的最新内容。

我非常确定您只需要一个受支持的运行时,至少在运行时,因为每个进程只加载一个运行时


我非常自信,因为我一直在使用该配置,3.5编译的DotLisp运行在最新的框架上,因此我可以访问DotLisp REPL中的最新内容。

“问题是我们向Web服务重新添加了一个全新的服务调用,现在当我们尝试访问项目引用时”如果您有一个web服务,这会让人感到困惑,难道您不能按原样使用端点吗?为什么您要构建一个web服务,然后尝试引用创建它的项目?您可以在模拟模式下运行它,然后设置一个客户端来使用它。尝试混合框架是个坏主意。您通常可以将较低的库引用到较高的库,但另一种方式只是自找麻烦。“问题是,我们向我们的web服务重新添加了一个全新的服务调用,而现在当我们尝试访问项目引用时,“如果您有web服务,这会让人困惑,难道您不能按原样使用端点吗?”?为什么您要构建一个web服务,然后尝试引用创建它的项目?您可以在模拟模式下运行它,然后设置一个客户端来使用它。尝试混合框架是个坏主意。您通常可以将较低的库引用到较高的库,但另一种方法只是自找麻烦。