我处于这样一种情况,我正在处理的项目之一取决于第三方API,它在JSON中公开了一个swagger描述符,我们使用auto rest来生成用于系统的C#文件
c#文件是作为构建脚本的一部分生成的,但是有一些API被更新的实例,虽然我们没有使用任何新的更改,但它确实改变了生成的一些c#代码可能依赖于从构建脚本输出的新文件,但VS不知道它们存在,因此不包括它们。
所以我试图找到一种方法来告诉visual studio从构建脚本或一些理智的方式(无需手动更改* .csproj文件)自动包含其项目中文件夹中的所有内容,所以有没有办法这样做?
我故意没有提到构建脚本技术,因为它不是很重要,所以我不介意我是否必须使用msbuild任务或其他命令行的东西,只要它工作我可能找到一种方法来钩它英寸
另外我知道有些人会想“为什么你需要继续重新生成文件?”,我们并不是真的,目前我们试图保持特定的版本,但忽略了这个问题仍然存在,即如何更新VS从外部VS知道的文件。
答案 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的一个奇怪的过程)