Deployment SSIS生成错误:无法将文件复制到部署实用程序输出目录 问题

Deployment SSIS生成错误:无法将文件复制到部署实用程序输出目录 问题,deployment,build,ssis,bids,sql-server-data-tools,Deployment,Build,Ssis,Bids,Sql Server Data Tools,尝试通过右键单击解决方案并选择“build”来构建SSIS包部署实用程序时,构建失败,并显示类似于以下内容的错误消息: <DTS:Configurations> <DTS:Configuration DTS:ConfigurationString="MyPath\MySolution\MyFile.dtsConfig" DTS:ConfigurationType="1" DTS:CreationName="" DTS:

尝试通过右键单击解决方案并选择“build”来构建SSIS包部署实用程序时,构建失败,并显示类似于以下内容的错误消息:

  <DTS:Configurations>
    <DTS:Configuration
      DTS:ConfigurationString="MyPath\MySolution\MyFile.dtsConfig"
      DTS:ConfigurationType="1"
      DTS:CreationName=""
      DTS:DTSID="{93222D3D-7AFF-1F2D-9UB8-B5E7X256BBE5}"
      DTS:ObjectName="MyFile" />
  </DTS:Configurations>
错误204 System.ApplicationException:无法复制文件 “MyPath\MyFile.dtsConfig”到部署实用程序输出目录 “MyPath\bin\Deployment”。 --->System.IO.IOException:文件“MyPath\MyFile.dtsConfig”已存在

原因 这是由于SSIS试图将
.dtsconfig
文件的多个副本部署到输出目录时造成的。默认情况下,SSIS将复制所有依赖文件(包括
.dtsconfig
文件)和添加到
杂项
文件夹下的解决方案中的任何文件

如果已将文件添加到解决方案中,但未能将包配置重新定位到新位置,则将部署两个副本,生成将失败

当您:

  • 使用带有
    .dtsconfig
    文件的包配置创建包
  • 将包复制到新目录,而不编辑包配置
  • 右键单击解决方案,选择“添加-->新项”,然后导航到该文件,将配置文件添加到项目中
  • 构建包
  • 解决方案 要解决此问题,请将包配置重新指向解决方案目录下的文件。这可以通过编辑器完成,也可以通过查看包的XML代码并手动编辑文件路径来完成,例如使用以下方法:

      <DTS:Configurations>
        <DTS:Configuration
          DTS:ConfigurationString="MyPath\MySolution\MyFile.dtsConfig"
          DTS:ConfigurationType="1"
          DTS:CreationName=""
          DTS:DTSID="{93222D3D-7AFF-1F2D-9UB8-B5E7X256BBE5}"
          DTS:ObjectName="MyFile" />
      </DTS:Configurations>
    
    
    

    可以找到进一步的读数。

    此错误可能是由配置文件路径中的大小写差异引起的。在某些情况下,SSI处理c:\MyPath\MyFile.dtsConfig的方式与处理c:\MyPath\MyFile.dtsConfig的方式不同

    我使用连接到同一TFS服务器的两台不同计算机对此进行了测试。一台电脑将TFS映射到C:\Packages。另一台电脑的TFS映射到C:\packages。创建一个包并在第一台pc上运行将创建部署而不会出现任何问题。尝试在第二台pc上创建部署包将导致无法复制异常

    我在第二台电脑上手动编辑了.dtsx文件。更改.dtsx文件中DTS:ConfigurationString=下配置文件路径的大小写可以使包正常工作

    为了让包在两台计算机上工作,我更新了TFS的本地路径,使其具有相同的外壳