Visual studio 2010 MSBUILD:ReadLinesFromFile不';不要读重复的行

Visual studio 2010 MSBUILD:ReadLinesFromFile不';不要读重复的行,visual-studio-2010,sql-server-2005,msbuild,build-automation,msbuild-task,Visual Studio 2010,Sql Server 2005,Msbuild,Build Automation,Msbuild Task,我使用MSBuild读取数据库项目所依赖的所有SQL部署后文件,并将这些数据写入已加载的主脚本 我得到了所有需要的文件: <ReadLinesFromFile File="$(ScriptsList)" > <Output TaskParameter="Lines" ItemName="IncludedFiles"/> </ReadLinesFromFile> 如您所见,将有几行带有一个“')”括号符号,任务只读取第一行,然后忽略所有重复项(因为它是一个

我使用MSBuild读取数据库项目所依赖的所有SQL部署后文件,并将这些数据写入已加载的主脚本

我得到了所有需要的文件:

<ReadLinesFromFile File="$(ScriptsList)" >
  <Output TaskParameter="Lines" ItemName="IncludedFiles"/>
</ReadLinesFromFile>
如您所见,将有几行带有一个“')”括号符号,任务只读取第一行,然后忽略所有重复项(因为它是一个项目组,而不是列表)。实际上,我得到一个如下所示的文件:

输出:

INSERT INTO [Characteristics] (
 [CharacteristicID], 
 [CharName], 
 [RuleName], 
 [ActionRuleName], 
 [CriteriaSetID], 
 [ActionCriteriaSetID], 
 [ListCodeID], 
 [LocalID], 
 [BomCategory]
)
SELECT ...something,something... from Characteristics
INSERT INTO [CharacteristicDomain] (
 [RuleSet], 
 [CharName], 
 [CharSlot], 
 [Description], 
 [Seq], 
 [ValueInteger], 
 [ValueFloat], 
 [ValueDate], 
 [ValueString]
SELECT ...something,something... from CharacteristicsDomain
有人知道如何使用MSBuild从文件中读取行,但不丢失重复行吗?

我想也许有办法使用Exec任务?我当然不能编写自己的任务,也不允许修改sql文件(我不能依赖用户,他们会按照我需要的方式格式化文件)。我需要使用MSBuild读取文件,因为在将它们推送到sqlcmd之前,我修改了其中一些文件。

如何写入output.sql?如果您正在对%(ListedData.Identity)进行批处理,那么将只提供唯一的行。将其用作@(ListedData),它应该可以使用。

您的第二个ReadLinesFromFile,即创建@(ListedData)的文件有问题。它正在使用带有%(IncludedFiles.Identity)的任务批处理,所以带有“)”的两行都将放在一个批处理中。

我正在使用。但我不想浪费时间,所以我目前正在尝试使用task with“type”命令进行读/写操作,并使用msbuildtasks.tigris.org中的task修改文件。我稍后会尝试你的方法,如果这有效,我会发布。
INSERT INTO [Characteristics] (

 [CharacteristicID], 
 [CharName], 
 [RuleName], 
 [ActionRuleName], 
 [CriteriaSetID], 
 [ActionCriteriaSetID], 
 [ListCodeID], 
 [LocalID], 
 [BomCategory]

)

SELECT ...something,something... from Characteristics

INSERT INTO [CharacteristicDomain] (

 [RuleSet], 
 [CharName], 
 [CharSlot], 
 [Description], 
 [Seq], 
 [ValueInteger], 
 [ValueFloat], 
 [ValueDate], 
 [ValueString]

)

SELECT ...something,something... from CharacteristicsDomain
INSERT INTO [Characteristics] (
 [CharacteristicID], 
 [CharName], 
 [RuleName], 
 [ActionRuleName], 
 [CriteriaSetID], 
 [ActionCriteriaSetID], 
 [ListCodeID], 
 [LocalID], 
 [BomCategory]
)
SELECT ...something,something... from Characteristics
INSERT INTO [CharacteristicDomain] (
 [RuleSet], 
 [CharName], 
 [CharSlot], 
 [Description], 
 [Seq], 
 [ValueInteger], 
 [ValueFloat], 
 [ValueDate], 
 [ValueString]
SELECT ...something,something... from CharacteristicsDomain