我正在编写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生成软件包后立即收到此错误?