繁体   English   中英

通过构建脚本更新Visual Studio项目中的文件

[英]Update files in visual studio project from build script

情境

目前,我所处的项目之一依赖于第三方API,该API公开了JSON中的大张旗鼓的描述符,我们使用自动休息来生成该描述符,以生成供系统使用的C#文件。

C#文件是作为构建脚本的一部分生成的,但是在某些情况下,API已更新,尽管我们不使用任何新更改,但确实会更改某些生成的C#代码,而这又可能取决于从构建脚本输出的新文件,但是VS不知道它们是否存在,因此不包括它们。

问题

因此,我试图找到一种通过构建脚本或其他合理的方式(无需手动更改* .csproj文件)来告诉Visual Studio的方法,以自动将项目中的所有文件包含在其文件夹中,那么有没有办法做到这一点?

其他资讯

我故意没有提到构建脚本技术,因为它并不是很重要,因此,我不介意是否必须使用msbuild任务或其他命令行内容,只要它可以工作,我可能会找到一种将其挂钩的方法。

我也知道有些人会认为“为什么需要继续重新生成文件?”,我们还没有,目前我们尝试保持特定版本,但是忽略了这个问题仍然存在,即如何解决。您是否从VS外部更新VS知道的文件?

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

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

若要在修改了Visual Studio中的对象列表后阻止Visual Studio扩展通配符,则必须将其添加为属性。

PropertyGroup ,添加具有以下内容的属性

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

然后将以下行添加到ItemGroup

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

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

同样,一旦您从Visual Studio解决方案资源管理器中修改了通配符,Visual Studio将不会对其进行扩展。 (来自Visual Studio的怪异过程)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM