我有一个基于两个变量创建目录誓言的脚本。当脚本突然停止构建时,我正在尝试对其进行故障排除。
首先,有一个只读变量提供目录/文件夹(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,版本= 1.1.37.0,文化=中性, PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。的 系统找不到文件 指定。 ST_4aac98dc09864544a7485d4005384dc9 C:\ Program文件 (x86)\ MSBuild \ 14.0 \ bin \ Microsoft.CSharp.Core.targets
文件名:“ System.Collections.Immutable,版本= 1.1.37.0, 文化=中性,PublicKeyToken = b03f5f7f11d50a3a'---> System.IO.FileNotFoundException:无法加载文件或程序集 'System.Collections.Immutable,版本= 1.1.36.0,文化=中性, PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。的 系统找不到文件 指定。 ST_4aac98dc09864544a7485d4005384dc9 C:\ Program文件 (x86)\ MSBuild \ 14.0 \ bin \ Microsoft.CSharp.Core.targets
文件名:“ System.Collections.Immutable,版本= 1.1.36.0, 文化=中性,PublicKeyToken = b03f5f7f11d50a3a'---> System.IO.FileNotFoundException:无法加载文件或程序集 'file:/// C:\ Program文件 (x86)\ MSBuild \ 14.0 \ bin \ System.Collections.Immutable.dll”或其中之一 依赖性。系统找不到文件 指定。 ST_4aac98dc09864544a7485d4005384dc9 C:\ Program文件 (x86)\ MSBuild \ 14.0 \ bin \ Microsoft.CSharp.Core.targets
文件名:'file:/// C:\ Program Files (x86)\ MSBuild \ 14.0 \ bin \ System.Collections.Immutable.dll'ST_4aac98dc09864544a7485d4005384dc9 C:\ Program 文件(x86)\ MSBuild \ 14.0 \ bin \ Microsoft.CSharp.Core.targets
在System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, 字符串代码库,证据程序集安全性,运行时程序集 locationHint,StackCrawlMark&stackMark,IntPtr pPrivHostBinder, 布尔值throwOnFileNotFound,布尔值用于自省,布尔值 抑制安全性检查)ST_4aac98dc09864544a7485d4005384dc9 C:\ Program 文件(x86)\ MSBuild \ 14.0 \ bin \ Microsoft.CSharp.Core.targets
不知道这里发生了什么,我所做的就是在“消息框”中添加一行,然后将其注释掉。