类型或名称空间名称'Dts'在名称空间'Microsoft.SqlServer'中不存在(您是否缺少程序集引用?)

时间:2018-07-26 12:22:03

标签: ssis script-task biml

我正在编写BIML文件并添加了scripttask项目。代码段如下

<ScriptTaskProject Name="CollectRecordIds" ProjectCoreName="ST_39671a219bda455a9ac64f4384d10901" EntryPoint="Main">
        <AssemblyReferences>
            <AssemblyReference AssemblyPath="Microsoft.SqlServer.ManagedDTS.dll"/>
            <AssemblyReference AssemblyPath="Microsoft.SqlServer.ScriptTask.dll"/>
            <AssemblyReference AssemblyPath="System.dll"/>
            <AssemblyReference AssemblyPath="System.Data.dll"/>
            <AssemblyReference AssemblyPath="System.Windows.Forms.dll"/>
            <AssemblyReference AssemblyPath="System.Xml.dll"/>
        </AssemblyReferences>
       <ReadOnlyVariables>
            <Variable DataType="String" VariableName="rootFolder"/>
        </ReadOnlyVariables>
        <ReadWriteVariables>
            <Variable DataType="String" VariableName="recordids"/>
        </ReadWriteVariables>
        <Files>
            <File Path="ScriptMain.cs">
                using System;
                using System.Data;
                using Microsoft.SqlServer.Dts.Runtime;
                using System.Data.OleDb;
                using System.IO;
                namespace ST_39671a219bda455a9ac64f4384d10901
                {
                    [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
                    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
                    {
                        public void Main()
                        {

                            Dts.TaskResult = (int)ScriptResults.Success;
                        }
                        enum ScriptResults
                        {
                            Success = DTSExecResult.Success,
                            Failure = DTSExecResult.Failure
                        };
                    }
                }
            </File>
        </Files>
    </ScriptTaskProject>

在BI Project Visual Studio 2015上,我能够从此BIML代码成功生成SSIS包。

从SSIS包中尝试打开生成的包时,出现如下错误。

  

严重性代码说明项目文件行抑制状态

     

错误加载package.dtsx时出错:CS0234-类型或名称空间名称   名称空间“ Microsoft.SqlServer”中不存在“ Dts”(您是   缺少程序集引用?),ScriptMain.cs,9   76 C:\ Users \ user \ Documents \ Visual Studio   2015 \ Projects \ Project \ CollectIDs \ package.dtsx 1

当我转到脚本任务编辑器并单击确定保存包时,该问题已解决。我有大约1000个软件包,即使它解决了我的问题,我也无法执行此手动任务。

我尝试使用相对路径和绝对路径AssemblyReferences,但是没有任何效果。为什么在从BIML生成软件包后立即收到此错误?

0 个答案:

没有答案