Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 混合模式组装是根据版本';2.0.50727';无法在4.0运行时中加载_.net_Visual Studio 2012_Assemblies_.net 4.5_Mixed Mode - Fatal编程技术网

.net 混合模式组装是根据版本';2.0.50727';无法在4.0运行时中加载

.net 混合模式组装是根据版本';2.0.50727';无法在4.0运行时中加载,.net,visual-studio-2012,assemblies,.net-4.5,mixed-mode,.net,Visual Studio 2012,Assemblies,.net 4.5,Mixed Mode,我正在使用Visual Studio 2012和.Net Framework 4.5 我有两种解决方案:1)WPF应用程序2)类库(dll) 类库包含3个按钮和一个控件,该控件必须位于WindosFormsHost控件内,因为它是为WinForms创建的 除了.NET Framework程序集之外,唯一引用的程序集用于上述winforms控件和iTextSharp winforms控件似乎有点旧,当我将引用放在dll中时,我得到了与标题相同的错误,但下面是其他SO问题/答案,我将其放在配置文件中

我正在使用Visual Studio 2012和.Net Framework 4.5 我有两种解决方案:1)WPF应用程序2)类库(dll)

类库包含3个按钮和一个控件,该控件必须位于WindosFormsHost控件内,因为它是为WinForms创建的

除了.NET Framework程序集之外,唯一引用的程序集用于上述winforms控件和iTextSharp

winforms控件似乎有点旧,当我将引用放在dll中时,我得到了与标题相同的错误,但下面是其他SO问题/答案,我将其放在配置文件中:


错误:

混合模式程序集是根据运行时版本“v2.0.50727”构建的,如果没有其他配置信息,无法在4.0运行时中加载

正如我所提到的,我看到一些问题发布了这个问题,它们确实在我的DLL项目中解决了这个问题,但在使用该DLL的项目中,我尝试了所有这些问题,但都没有效果。供参考:

  • 在该项目中,我的配置文件具有完全相同的标记和相同的值

    还要注意的是,在我的WPF应用程序中,一开始我遇到了一个错误,它无法找到指定的dll(用于winforms控件),最后我将该控件的dll放入GAC中

    我尝试过改变所有可能的目标框架(4.5、4.0完整和客户端、3.5完整和客户端、3.0和2.0),在调试和发布中构建DLL,并将“生成序列化程序集”设置为关闭,同时将平台目标从任何CPU更改为x86和x64。我一次只尝试更改一个设置的值

    这是VS2012中的一个问题还是我需要做些什么来解决这个问题

    编辑:

    上述错误在设计时显示在错误列表中,设计器显示一个错误,说明“无法创建‘my_类’的实例”

    该消息的内部异常是:“setconnectionid抛出了一个异常”,而该消息的内部异常是标题消息

    这仍然允许构建解决方案,在运行应用程序时,我得到的结果基本相同,只是最内部的异常表示:

    “无法加载文件或程序集'SigPlusNET,Version=1.1.3358.14336,Culture=neutral,PublicKeyToken=6aef07010bb0624f'或其依赖项之一。试图加载格式不正确的程序。”


    这一个是winForms控件的程序集,通过dotPeek检查后,它唯一的依赖项是.NET Framework的依赖项。这可能是因为这一行中的一个位置有4.0,另一个位置有4.5:

    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    
    
    
    尝试:

    
    


    使用适用于DirectX 10.0的Bling(位于CodePlex的Bling UI工具包)。我得到了一个错误,我在这页上找到了解决方案,D3D10.example中的app.config文件包含了支持的运行时,version=4行。但它不包括version=2.net行的后续行,使用app.config作为:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
     <startup useLegacyV2RuntimeActivationPolicy="true">
      <supportedRuntime version="v4.0" />
      <supportedRuntime version="v2.0.50727" />
     </startup>
    </configuration>
    
    
    
    解决了这个问题,一旦配置文件修改为所示代码,所有示例都将在VS2012中运行


    我不知道这篇文章是否会迟些回答,我本月刚开始在Windows7和VS2012上进行一个图形项目,配置更改解决了我的问题。

    我的方法有点不同。该错误清楚地标识了.NET 4.0中包含的某些.NET 2.0.50727组件 在App.config文件中,而不是使用以下内容:

    <startup useLegacyV2RuntimeActivationPolicy="true"> 
    
    
    

    它解决了我的问题

    错误是说4.0运行时,vs2012是否使用其他版本?我的wpf和dll都在使用.net 4.5,所以这就是这些值的原因,在任何情况下,我只是尝试了你所说的,问题仍然存在。我没有使用4.5,所以我不确定。我希望你能成功。我想可能您有一个4.0和4.5项目,您需要有两个“supportedRuntime”标记,一个用于4.0,另一个用于4.5。你能试试吗?我确实试过了,不起作用,看看vs2012是否使用了另一个运行时,我发现:在“为.NET 4和.NET 4.5安全开发”部分的第三个映像下面,看到xml,它与Miner相同。右键单击你的EXE项目,属性,调试选项卡,取消选中“启用Visual Studio托管进程”选项并重试。我在问题中没有提到这一点,但我在设计时从工具箱中拖放控件时得到了这一点(程序运行时也会崩溃),我将编辑我的问题并添加在运行时得到的异常您刚刚在编辑中发布的第二个错误是因为SigPlusNET(或它使用的东西)是错误的目标平台。要么你的应用程序是32位的,SigPlusNET(或者一个依赖项)是64位的,要么相反。在这里的所有爆炸之后,我用它来处理这个问题。这是从3.5到4.5.2的升级,DTSX在执行时失败。
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
     <startup useLegacyV2RuntimeActivationPolicy="true">
      <supportedRuntime version="v4.0" />
      <supportedRuntime version="v2.0.50727" />
     </startup>
    </configuration>
    
    <startup useLegacyV2RuntimeActivationPolicy="true">