混合模式程序集是针对运行时的版本“v2.0.50727”构建的,无法在4.0运行时加载 - 研究解决方案无法正常工作

时间:2015-03-24 18:25:17

标签: c# winforms ssis app-config execution

以下是我的完整错误:

Error in Microsoft.SqlServer.Dts.Runtime.TaskHost  
The Execute method on the task returned error code 0x80131621 (Mixed 
mode assembly is built against version 'v2.0.50727' of the 
runtime and cannot be loaded in the 4.0 runtime without 
additional configuration information.  The Execute method must succeed,
and indicate the result using an "out" parameter.

我找到了可能的解决方案herehere但是我仍然遇到上述错误。

以下是我的表单代码:

private void button1_Click(object sender, EventArgs e)
    {
        string pkgLocation;
        Package pkg;
        Microsoft.SqlServer.Dts.Runtime.Application app;
        DTSExecResult pkgResults;

        MyEventListener eventListener = new MyEventListener();

        pkgLocation =
          @"C:\FilePath.dtsx";

        app = new Microsoft.SqlServer.Dts.Runtime.Application();
        pkg = app.LoadPackage(pkgLocation, eventListener);
        pkgResults = pkg.Execute(null, null, eventListener, null, null);

        MessageBox.Show(pkgResults.ToString());

    }

    class MyEventListener : DefaultEvents
    {
        public override bool OnError(DtsObject source, int errorCode, string subComponent,
          string description, string helpFile, int helpContext, string idofInterfaceWithError)
        {
            // Add application-specific diagnostics here.
            MessageBox.Show("Error in " + "/t" + source + "/t" + subComponent + "/t" + description);
            return false;
        }
    }

以下是我的app.config标记:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    <supportedRuntime version="v2.0.50727" />
  </startup>
  </configuration>

为什么以前的研究解决方案对我不起作用?他们有许多推文,我推断这些推文已经为很多其他用户所用。

1 个答案:

答案 0 :(得分:1)

通过@pabrams找到答案here。 @pabrams在回答"Probably depends on what version of Visual Studio you're using, but for me (VS2010 Pro) it was Right-Click Project -> hit Properties -> Compile -> Advanced Compile Options... -> Generate serialization assemblies is a dropdown"

下的其他评论

做了伎俩!