为什么 Visual Studio 甚至在 Assets 文件夹之外创建 .meta 文件?
Why is Visual Studio creating .meta files even outside Assets folder?
我有以下项目设置:
C:\XXX
中的 Unity 项目
- 向解决方案添加了另一个项目,位于
C:\XXX\Tests
现在,每当向该测试项目添加 class 时,我发现也会添加一个 .meta
文件。
这似乎不正确,因为 .meta
文件应该仅适用于 Assets
.
中的文件
使用进程监视器我发现确实是 devenv.exe 创建了这些 .meta
文件。
快速修复:
使用忽略 Visual Studio and Unity 忽略,这些 .meta
文件未提交到存储库,
并将其添加到 csproj 将隐藏它们:
<ItemGroup>
<None Update="**/*.meta" Visible="false" />
</ItemGroup>
但实际上,这只是隐藏了问题...
不幸的是,这种方法在 Directory.Build.props 中不起作用,迫使人们手动将以前的代码块添加到每个 'external' 项目中。
问题:
为什么 .meta
文件也在 Assets
之外创建,如何关闭它?
目前,将它放在 Directory.Build.props 的根目录中有效地消除了手动更新每个项目的需要:
<Project>
<PropertyGroup>
<DefaultItemExcludes>$(DefaultItemExcludes);**\*.meta</DefaultItemExcludes>
</PropertyGroup>
</Project>
但这只是隐藏了问题而不是解决问题...
更新
问题来自 Resharper 并已修复:
Avoid creating meta files outside Assets and Packages (#1489)
我有以下项目设置:
C:\XXX
中的 Unity 项目
- 向解决方案添加了另一个项目,位于
C:\XXX\Tests
现在,每当向该测试项目添加 class 时,我发现也会添加一个 .meta
文件。
这似乎不正确,因为 .meta
文件应该仅适用于 Assets
.
使用进程监视器我发现确实是 devenv.exe 创建了这些 .meta
文件。
快速修复:
使用忽略 Visual Studio and Unity 忽略,这些 .meta
文件未提交到存储库,
并将其添加到 csproj 将隐藏它们:
<ItemGroup>
<None Update="**/*.meta" Visible="false" />
</ItemGroup>
但实际上,这只是隐藏了问题...
不幸的是,这种方法在 Directory.Build.props 中不起作用,迫使人们手动将以前的代码块添加到每个 'external' 项目中。
问题:
为什么 .meta
文件也在 Assets
之外创建,如何关闭它?
目前,将它放在 Directory.Build.props 的根目录中有效地消除了手动更新每个项目的需要:
<Project>
<PropertyGroup>
<DefaultItemExcludes>$(DefaultItemExcludes);**\*.meta</DefaultItemExcludes>
</PropertyGroup>
</Project>
但这只是隐藏了问题而不是解决问题...
更新
问题来自 Resharper 并已修复:
Avoid creating meta files outside Assets and Packages (#1489)