从构建脚本更新visual studio项目中的文件

时间:2016-06-22 09:09:16

标签: c# visual-studio

方案

我处于这样一种情况,我正在处理的项目之一取决于第三方API,它在JSON中公开了一个swagger描述符,我们使用auto rest来生成用于系统的C#文件

c#文件是作为构建脚本的一部分生成的,但是有一些API被更新的实例,虽然我们没有使用任何新的更改,但它确实改变了生成的一些c#代码可能依赖于从构建脚本输出的新文件,但VS不知道它们存在,因此不包括它们。

问题

所以我试图找到一种方法来告诉visual studio从构建脚本或一些理智的方式(无需手动更改* .csproj文件)自动包含其项目中文件夹中的所有内容,所以有没有办法这样做?

其他信息

我故意没有提到构建脚本技术,因为它不是很重要,所以我不介意我是否必须使用msbuild任务或其他命令行的东西,只要它工作我可能找到一种方法来钩它英寸

另外我知道有些人会想“为什么你需要继续重新生成文件?”,我们并不是真的,目前我们试图保持特定的版本,但忽略了这个问题仍然存在,即如何更新VS从外部VS知道的文件。

1 个答案:

答案 0 :(得分:1)

您可以在wild cards文件中使用.csproj。你只需要这样做一次

由于您没有提供文件夹名称,我建议您使用通用解决方案。

要在Visual Studio中修改项目列表后阻止Visual Studio扩展通配符,您必须将其添加为属性。

PropertyGroup中,添加一个像这样的属性

<PropertyGroup>
    <IncludeFolder>yourFolder\**</IncludeFolder>
</PropertyGroup>

然后将以下行添加到ItemGroup

<ItemGroup>
   <Content Include="$(IncludeFolder)" />
</ItemGroup>

这会将该文件夹中的所有内容添加到您的项目中。

一旦您从Visual Studio解决方案资源管理器中修改了这个外卡,它就不会被Visual Studio扩展。 (来自Visual Studio的一个奇怪的过程)