SSIS 脚本突然无法构建

问题描述 投票:0回答:2

我有一个脚本可以根据两个变量创建一个目录誓言。当脚本突然停止构建时,我正试图对其进行故障排除。

首先,有一个提供目录/文件夹的只读变量(User::sPriceListSourceFolder)。第二个获取最新的价目表文件(User::sRecentPriceListFile,读/写)。 SSIS 序列的下一步是使用此组合将基于先前确定的目录的最新文件复制到另一个目录。这个过程由于某种原因失败了,因为它没有生成最终的 /,所以目录和文件名没有分开。

我插入了两个消息框,每个变量一个,以测试正在传递的字符串。我不断收到“出现错误,您确定要构建吗?”我可能是第一次不小心接受了。我回去注释掉两个消息框以消除错误,但我仍然收到错误。我不知道为什么这突然发生了。鉴于我的主要问题,这里有什么建议吗?唯一的变化是两条注释掉的行。提前致谢。

public void Main()
    {

        var directory = new DirectoryInfo(Dts.Variables["User::sPriceListSourceFolder"].Value.ToString());
        /// MessageBox.Show(Dts.Variables["User::sPriceListSourceFolder"].Value.ToString());


        FileInfo[] files = directory.GetFiles();
        DateTime lastCreated = DateTime.MinValue;

        foreach (FileInfo file in files)
        {
            if (file.CreationTime > lastCreated)
            {
                lastCreated = file.CreationTime;
                Dts.Variables["User::sRecentPriceListFile"].Value = file.ToString();
            }
        }

        /// MessageBox.Show(Dts.Variables["User::sRecentPriceListFile"].Value.ToString());


        Dts.TaskResult = (int)ScriptResults.Success;
    }

编辑:我尝试了以下方法: -重新启动电脑 -更新 main 所以它只返回成功 -重建并尝试从脚本窗口中运行。

最后说我有26个错误??这是输出示例,不会将所有 26 个都放在这里:

System.IO.FileNotFoundException: 无法加载文件或程序集 'System.Collections.Immutable, Version=1.1.37.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。这 系统找不到文件 指定的。 ST_4aac98dc09864544a7485d4005384dc9 C:\Program Files (x86)\MSBuild .0 在\Microsoft.CSharp.Core.targets

文件名:'System.Collections.Immutable, Version=1.1.37.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a' ---> System.IO.FileNotFoundException:无法加载文件或程序集 'System.Collections.Immutable, Version=1.1.36.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。这 系统找不到文件 指定的。 ST_4aac98dc09864544a7485d4005384dc9 C:\Program Files (x86)\MSBuild .0 在\Microsoft.CSharp.Core.targets

文件名:'System.Collections.Immutable, Version=1.1.36.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a' ---> System.IO.FileNotFoundException:无法加载文件或程序集 'file:///C:\程序文件 (x86)\MSBuild .0 in\System.Collections.Immutable.dll' 或其之一 依赖项。系统找不到文件 指定的。 ST_4aac98dc09864544a7485d4005384dc9 C:\Program Files (x86)\MSBuild .0 在\Microsoft.CSharp.Core.targets

文件名:'file:///C:\Program Files (x86)\MSBuild .0 在 \System.Collections.Immutable.dll' ST_4aac98dc09864544a7485d4005384dc9 C:\Program 文件 (x86)\MSBuild .0 在\Microsoft.CSharp.Core.targets

在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName 文件名, 字符串 codeBase、Evidence assemblySecurity、RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean 抑制安全检查)ST_4aac98dc09864544a7485d4005384dc9 C:\Program 文件 (x86)\MSBuild .0 在\Microsoft.CSharp.Core.targets

不确定这里发生了什么,我所做的就是为消息框添加一行,然后将其注释掉。

c# sql-server ssis etl script-task
2个回答
0
投票

我今天遇到了完全相同的问题。尝试构建时出现 26 个错误; 26 包括上面 Vaslo 列出的所有错误。解决方法是编辑 C:\Users\[用户名]\AppData\Local\Microsoft\VisualStudio.0 中的 devenv.exe.config 文件。在 devenv.exe.config 中将 System.Collections.Immutable.dll 的新版本从 1.1.36.0 更改为 1.1.37.0。这解决了它。更改后项目构建成功

我从这个博客得到了解决方案:https://vinceavery.wordpress.com/ (搜索“不可变”)


-2
投票

我也是一样的情况,你能解决这个错误吗,你能帮帮我吗?

© www.soinside.com 2019 - 2024. All rights reserved.