在目前,我正在执行2008R2 SSIS包.NET应用程序和应用程序是赢服务器2008R2(64位)上运行。 这些包是建于2008年BIDS之后,我从我的SQL2008R2数据库服务器升级到SQL2014标准和部署.NET应用程序到新的环境(温服务器2012R2上运行)。
一个现在,我从.NET应用程序中调用包遇到的问题。 消息错误是错误:无法加载文件或程序集“Microsoft.SqlServer.Dts.DTSRuntimeWrap.dll,版本= 10.0.0.0,文化=中立,公钥= ...”或者它的一个依赖关系。 试图加载程序格式不正确。
第1步:创建一个.NET简单的应用程序调用包(SSIS 2008)。 \程序文件(x86)\ Microsoft SQL Server的\ 100 \ SDK \组件:我也是在C分配基准Microsoft.SQLServer.DTSRuntimeWrap和Microsoft.SQLServer.ManagedDTS加2 .dll文件版本(10.0.0.0)
using Microsoft.SqlServer.Dts.Runtime;
using Application = Microsoft.SqlServer.Dts.Runtime.Application;
private void button1_Click(object sender, EventArgs e)
{
try
{
string pkgLocation = @".\Package.dtsx";
Application app = new Application();
Package pkg = app.LoadPackage(pkgLocation, null);
DTSExecResult pkgResults = pkg.Execute();
MessageBox.Show(pkgResults.ToString());
}
catch(Exception ex)
{
MessageBox.Show("ERROR: " + ex.Message);
}
}
步骤2:部署该应用(其中包括2 .DLL,包)到新环境并执行它。 其结果是作为上述错误信息。
在新的环境中,2 .dll文件版本12.0.2000.8用C分配:\程序文件(x86)\ Microsoft SQL Server的\ 120个\ SDK \组件。 我猜,每当包执行的时候也需要旧的.dll版本10.0.0.0一些功能来执行他们的组件(执行SQL任务,任务脚本,...),但这些.dll不在新的环境中存在,它导致错误。
所以,我怎么能解决这个问题,除了升级SSIS包年至2014年或有什么建议?
非常感谢,