【问题标题】:Could not find a part of the path in 'C:\' at line 0在第 0 行的“C:\”中找不到路径的一部分
【发布时间】:2021-03-11 08:42:01
【问题描述】:

我在SSIS package 中遇到Script Task 错误。我可以找到类似的问题,但它们与我的情况不同。

构建脚本失败并出现以下错误(错误列表请参考下图):

严重性代码描述项目文件行抑制状态 错误找不到路径的一部分 'C:\Users\name\AppData\Local\Temp\2\Vsta\166f3f6a0a3b4d2b9bce8275652e86c5_out'。
ST_e39a74fadbb04a8088f3dcc732f67cf0 C:\Users\name\AppData\Local\Temp\2\Vsta\SSIS_ST140\VstagyjdfDg98EOThQux2q_T5A\VstaFGRuzNpZdEeMuG1swXzy5g\mscorlib 0

错误列表:

我可以理解File not found in the path 的这个错误。好的。我可以更改路径,但它显示line: 0。当我点击错误时,我会收到以下通知。

消息:

所以,现在我的问题是,

此路径在项目中的什么位置? 如何解决这个错误?

注意:

  1. 我正在使用以下版本的 VS Code。

Microsoft Visual Studio 社区 2019 版本 16.9.1 VisualStudio.16.Release/16.9.1+31105.61 Microsoft .NET 框架版本 4.7.03062

  1. 每次构建时都会更改错误的文件名*_out

谢谢,

普格尔。

【问题讨论】:

  • 我想说如果没有脚本任务的一些示例代码,这是不可能回答的!特别是 Main() 方法。无论如何,您写道 _out 在每次构建后都会有所不同 - 您将什么作为路径传递给您的语句?它是您在其他地方构建的字符串吗?正如您所提到的,这指向一个未找到的文件(或当前用户无法访问的文件) - 所以路径可能只是错误!?
  • 对于 SSIS 脚本任务,尤其是多次调试,我会将其编写为控制台应用程序(更容易调试,逐步执行代码,而且速度更快。有一些工作可以将其转换为 SSIS脚本任务(有时比其他任务更多,取决于代码)但更复杂的代码或发现问题,在控制台应用程序中更容易,错误更容易理解。
  • 好的,我会上传样本。但我的主要问题是,line 0 是什么意思?
  • @Brad,我是 SSIS 的初学者和 Script Task 的新手。但 Ok 会在团队的帮助下尝试。

标签: c# ssis script-task


【解决方案1】:

更新: 现在在 Visual Studio 2019 中已修复,但修复方法是安装最新版本的 Visual Studio for Applications。

https://marketplace.visualstudio.com/items?itemName=SSIS.SqlServerIntegrationServicesProjects

VS 2019 16.9 中有一个回归,会导致脚本任务/组件在编辑脚本时无法正常工作。 VSTA 团队已经发布了一个新版本来解决这个问题。请安装最新版本 3.12.1 以解决问题,或者您可以继续使用 3.12 版本并手动下载并安装最新版本的 VSTA 2019 here

: 如下所述,这在 Visual Studio 2019 16.9 中被打破

https://marketplace.visualstudio.com/items?itemName=SSIS.SqlServerIntegrationServicesProjects

VS 2019 16.9 中有一个回归,会导致脚本任务/组件在编辑脚本时无法正常工作。目前请不要升级到 16.9。如果您已经升级到16.9,如果您正在使用脚本任务/组件,请回滚到16.8或更早版本。

因此,请尝试使用最新的 16.8.x 版本。 https://docs.microsoft.com/en-us/visualstudio/releases/2019/history#installing-an-earlier-release

你也可以为这个项目投票

https://developercommunity2.visualstudio.com/t/SSIS-script-task-do-not-build/1354064

SSIS 脚本任务不构建

【讨论】:

  • 感谢@Subbu,将降级为16.8.x
  • 抱歉回复晚了。脚本任务在 version 15.9.34 上运行良好
  • 现在升级 VS v16.10 也解决了这个问题。
【解决方案2】:

我也面临这个问题。将 Visual Studio 降级到 16.8.2 有助于解决这个问题!

【讨论】:

【解决方案3】:
【解决方案4】:

在 VS 市场上发布了一种解决方法:

  1. 点击“编辑脚本”在VS中打开项目
  2. 在解决方案资源管理器中右键单击项目,然后单击“在文件资源管理器中打开文件夹”
  3. 在文件资源管理器中,使用任意文本编辑器打开 csproj 或 vbproj 文件
  4. 找到这两个元素,将值更改为 .\bin\Debug\ 和 .\bin\Release\ 分开,或者您可以简单地删除它们
  5. 保存 csproj 或 vbproj 并重新加载项目
  6. 现在您可以尝试在 VS 中重建项目

说明不是很清楚,但我发现只需在两个配置 PropertyGroups 中注释掉 OutputPath 节点就可以了。

例如:

  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <!-- <OutputPath>.\bin\Debug\</OutputPath> -->
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <!-- <OutputPath>.\bin\Release\</OutputPath> -->
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

【讨论】:

  • 在我的项目中,这些值已经设置为 `.\bin\Debug` 等。删除/注释它们似乎是关键。 VS 会提示你重新加载项目。如果您无法控制 VS2019 版本,这是正确的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-13
相关资源
最近更新 更多