C# 在';中找不到路径的一部分;C:\&x27;在第0行

C# 在';中找不到路径的一部分;C:\&x27;在第0行,c#,ssis,script-task,C#,Ssis,Script Task,我在SSIS包中的脚本任务上遇到错误。我可以找到类似的问题,但它们与我的情景不同 生成脚本并失败,出现以下错误(有关错误列表,请参阅下图): 严重性代码说明项目文件行抑制状态 错误:找不到路径的一部分 “C:\Users\name\AppData\Local\Temp\2\Vsta\166f3f6a0a3b4d2b9bce8275652e86c5\u out”。 ST_E39a74FADB04A8088F3DCC732F67CF0 C:\Users\name\AppData\Local\Temp

我在
SSIS包
中的
脚本任务
上遇到错误。我可以找到类似的问题,但它们与我的情景不同

生成脚本并失败,出现以下错误(有关错误列表,请参阅下图):

严重性代码说明项目文件行抑制状态 错误:找不到路径的一部分 “C:\Users\name\AppData\Local\Temp\2\Vsta\166f3f6a0a3b4d2b9bce8275652e86c5\u out”。
ST_E39a74FADB04A8088F3DCC732F67CF0 C:\Users\name\AppData\Local\Temp\2\Vsta\SSIS\u ST140\VstagyjdfDg98EOThQux2q_T5A\vstafgruznpzndeemug1swxzy5g\mscorlib 0

错误列表:

我可以理解此错误,即路径中未找到
文件。好啊我可以更改路径,但它会显示
行:0
。当我单击错误时,我收到以下通知

消息:

那么现在我的问题是,

此路径在项目中的何处? 如何解决此错误

注:

  • 我正在使用下面的版本VS代码
  • Microsoft Visual Studio社区2019 版本16.9.1 VisualStudio.16.Release/16.9.1+31105.61 Microsoft.NET 框架版本4.7.03062

  • 每次生成时都会更改出错的文件名
    *\u out
  • 谢谢


    普格尔。

    我也面临这个问题。将visual studio降级到16.8.2有助于解决此问题

    更新: Visual Studio 2019中现在已修复,但修复程序是为应用程序安装最新版本的Visual Studio

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

    旧的: 如下所示,这在Visual Studio 2019 16.9中被破坏

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

    因此,请尝试使用最新的16.8.x版本。

    你也可以投票支持这个项目

    SSIS脚本任务未生成


    尝试安装此版本的ssis


    VS marketplace上发布了一个解决方案:

  • 单击“编辑脚本”以在VS中打开项目
  • 在解决方案资源管理器中右键单击该项目,然后单击“在文件资源管理器中打开文件夹”
  • 在文件资源管理器中,使用任何文本编辑器打开csproj或vbproj文件
  • 找到这两个元素,将值更改为。\bin\Debug\和。\bin\Release\ 单独,或者您可以简单地删除它们
  • 保存csproj或vbproj并重新加载项目
  • 现在您可以尝试在VS中重建项目
  • 说明不是非常清楚,但我发现简单地注释掉两个配置
    PropertyGroup
    s中的
    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>
    
    
    真的
    满的
    假的
    假的
    调试;痕迹
    促使
    4.
    假的
    真的
    假的
    痕迹
    促使
    4.
    
    如果没有脚本任务的示例代码,我想说这是不可能回答的!尤其是Main()方法。不管怎样,您在文章中写道,每次构建之后,输出都会发生变化-您将传递什么作为语句的路径?这是你在其他地方建立的字符串吗?正如您所提到的,这指向一个找不到的文件(或者当前用户无法访问的文件)-因此,可能路径就是错误的!?对于SSIS脚本任务,尤其是调试,很多时候我都会将其作为控制台应用程序编写(调试更容易,逐步完成代码,而且速度更快。有一些工作可以将其转换为SSIS脚本任务(有时比其他更多,具体取决于代码)但更复杂的代码或查找问题,在控制台应用程序中更容易,错误也更容易理解。好的,我将上传示例。但我的主要问题是,
    第0行
    是什么意思?@Brad,我是
    SSIS
    的初学者,也是
    脚本任务
    的新手。但Ok会在团队的帮助下尝试。哦,谢谢你的建议ion.I团队已经在
    Version15.9.34
    上尝试了这个,我们运气不好。在
    Version15.9.34
    上工作得很好。谢谢@Subbu,将降级到
    16.8.x
    。很抱歉反应太晚。脚本任务在
    Version15.9.34
    上工作得很好