C# 如何在生成期间将项目引用从SQLServer2005更改为SQLServer2008?

C# 如何在生成期间将项目引用从SQLServer2005更改为SQLServer2008?,c#,sql-server,msbuild,C#,Sql Server,Msbuild,我目前正在构建一个引用SQLServer2005程序集的项目,但我希望可以选择使用2005或2008程序集来构建它 目前,我可以打开每个项目并更改引用,但我正在寻找更好的方法 有没有一个简单的方法可以做到这一点,我错过了? 如果不是,是否可以使用脚本修改这些文件,以便我可以使用脚本预构建来设置所有内容?我不知道这是否是最好的解决方案,但您可以实现一个自定义MSBuild任务,该任务读取csproj或vbproject(或任何其他)文件,并根据目标调用方设置的某个MSBuild属性对其进行修改 V

我目前正在构建一个引用SQLServer2005程序集的项目,但我希望可以选择使用2005或2008程序集来构建它

目前,我可以打开每个项目并更改引用,但我正在寻找更好的方法

有没有一个简单的方法可以做到这一点,我错过了?
如果不是,是否可以使用脚本修改这些文件,以便我可以使用脚本预构建来设置所有内容?

我不知道这是否是最好的解决方案,但您可以实现一个自定义MSBuild任务,该任务读取csproj或vbproject(或任何其他)文件,并根据目标调用方设置的某个MSBuild属性对其进行修改

VisualStudio项目是有效的XML文件,因此可以使用XmlDocument或XDocument

您的自定义任务如下所示:

<changeMSSQLVersion Version="2008" Files="@(ProjectFile)" />

我现在使用的是脚本,但将来可能会将其转换为MSBuild任务。谢谢