如何让项目TestFolder下新增SQL文件自动设为BuildAction=None且不纳入dacpac?
解决SQL项目中TestFolder新增文件自动设为BuildAction=None且不纳入dacpac的问题
问题核心是Visual Studio的SQL项目会自动将新增的.sql文件添加为<Build>条目,而你之前的通配符<None>配置优先级低于单个文件的显式<Build>条目,导致冲突。要彻底解决这个问题,只需调整.csproj的配置逻辑:
- 先手动清理.csproj中所有针对
dbo\TestFolder下单个文件的<Build>或<None>显式条目,避免残留配置干扰。 - 添加以下配置块,先排除目录下所有文件的Build行为,再统一设为None:
<ItemGroup> <!-- 阻止VS自动将TestFolder下的文件标记为Build --> <Build Remove="dbo\TestFolder\**" /> <!-- 将TestFolder下所有文件(含新增、子目录文件)设为BuildAction=None --> <None Include="dbo\TestFolder\**" /> </ItemGroup>
配置说明
<Build Remove="dbo\TestFolder\**" />:会移除Visual Studio自动为该目录下所有文件生成的<Build>条目,从根源避免冲突。<None Include="dbo\TestFolder\**" />:使用递归通配符**匹配目录下所有文件及子目录文件,确保新增文件自动被设为None,不会被纳入dacpac包。
将这个配置提交到版本控制后,所有协作成员同步项目文件后,新增到TestFolder的文件都会自动符合要求,无需手动干预。
内容的提问来源于stack exchange,提问作者Var 2010
相关产品推荐
相关产品推荐

