【发布时间】:2020-02-04 19:40:53
【问题描述】:
我正在使用 Visual Studio 2019 并正在升级 .vbproj 文件以使用一些更现代的功能 - 我认为最初的解决方案/项目可能早在 VS 2008 就已构建。 我正在将大量显式文件包含转换为一个通配符以提取我的所有文件:
<ItemGroup>
<Compile Include="Src\**\*.vb" />
</ItemGroup>
这很好用,我可以在 Visual Studio 的项目资源管理器中看到所有文件。 但是,当我构建项目时,这个通配符被扩展并且每个源文件都被命名,如下所示:
<ItemGroup>
<Compile Include="Src\Code\File1.vb" />
<Compile Include="Src\Code\File2.vb" />
<Compile Include="Src\Code2\File1.vb" />
</ItemGroup>
在我构建项目之前不会发生这种情况,我可以毫无问题地加载 Visual Studio,并且项目文件保持不变。
我这样做是因为在删除许多文件的重构分支中合并这些文件时遇到了一些问题,因此这种方法会容易得多。
我可以阻止 Visual Studio 这样做吗?
【问题讨论】:
-
嗯,这很烦人。可能是特定于 VB 的东西:我们对 C++ 文件做同样的事情,而且工作正常。
-
一个想法:据我所知,VS 只会修改项目文件本身。因此,如果您在一个单独的文件中定义您的 ItemGroup,然后从主 .vbproj 文件中导入,您应该会很好。
标签: vb.net visual-studio msbuild