Msbuild CruiseControl.NET:SVN获得的构建子项目

Msbuild CruiseControl.NET:SVN获得的构建子项目,msbuild,cruisecontrol.net,Msbuild,Cruisecontrol.net,我有这个项目结构: main -- main.csproj main/subproject1 --- main.subproject1.csproj main/subproject1/view/ --- main.subproject1.view.csproj main/subproject1/business/ --- main.subproject1.business.csproj main/subproject1/metadata/ --- main.su

我有这个项目结构:

main -- main.csproj main/subproject1 --- main.subproject1.csproj main/subproject1/view/ --- main.subproject1.view.csproj main/subproject1/business/ --- main.subproject1.business.csproj main/subproject1/metadata/ --- main.subproject1.metadata.csproj main/subproject1/facade/ --- main.subproject1.facade.csproj main/subproject1/data/ --- main.subproject1.data.csproj main/subproject2 main/subproject2/view/ main--main.csproj 主/子项目1---main.subproject1.csproj main/subproject1/view/--main.subproject1.view.csproj main/subproject1/business/--main.subproject1.business.csproj main/subproject1/metadata/--main.subproject1.metadata.csproj main/subproject1/facade/--main.subproject1.facade.csproj main/subproject1/data/--main.subproject1.data.csproj 主要/次级项目2 主/子项目2/视图/

因此,我只想在我的SVN存储库“trunk”中对特定的.csproj项目的文件进行一些修改时构建/编译该项目。 我正在尝试使用MsBuild+ModificationReader,但我不确定如何修改reader(文档说明非常糟糕)


你们知道怎么做吗?

看看filteredSourceControlProvider和inclusionFilters


如果每个csproj都有一个ccnet项目,那么每个项目都可以触发自己的更改

,只想知道这些项目之间是否存在任何依赖关系。如果它有任何依赖性,那么我认为当一个项目发生变化时,您需要构建整个项目。您是对的,同一解决方案中的项目有依赖性,逐个构建编译不是一个好主意。如果没有依赖项生成不同的解决方案,如果有依赖项编译整个解决方案,则此项目之间存在一些依赖项,但存在特定的生成顺序,因此,如果多个项目有任何修改,它将使用预定义的顺序进行构建。您无法保证cruisecontrol.net获取修改的顺序。不幸的是,我每个“子项目”只有一个ccnet项目。我认为这个解决方案不适用于这里:(如果是这种情况,那么只需添加filteredSourceControlProvider并指定要监视的路径。仅当这些路径中有修改时,才会强制生成。正如@Hassan上面所说的,由于项目之间存在依赖关系,因此最好让Msbuild生成解决方案,而不是单独生成每个项目。这将解决e任何依赖性问题,即构建顺序。