2

我有以下项目设置:

  • 统一项目在C:\XXX
  • 向解决方案添加了另一个项目,位于C:\XXX\Tests

现在,每当向该测试项目添加一个类时,我发现同时.meta添加了一个文件。

这似乎不正确,因为.meta文件据说仅适用于Assets.

使用 Process Monitor 我发现确实是 devenv.exe 创建了这些.meta文件。

快速解决:

使用忽略Visual StudioUnity忽略,这些.meta文件不会提交到存储库,

并将其添加到 csproj 将隐藏它们:

  <ItemGroup>
    <None Update="**/*.meta" Visible="false" />
  </ItemGroup>

但实际上,这只隐藏了问题......

不幸的是,这种方法在Directory.Build.props中不起作用,迫使人们手动将以前的代码块添加到每个“外部”项目中。

问题:

为什么.meta还要在外部创建文件Assets以及如何将其关闭?

4

1 回答 1

2

现在,将它放在根目录下的Directory.Build.props中,有效地消除了手动更新每个项目的需要:

<Project>
    <PropertyGroup>
        <DefaultItemExcludes>$(DefaultItemExcludes);**\*.meta</DefaultItemExcludes>
    </PropertyGroup>
</Project>

但这只会隐藏问题而不是解决问题......

更新

问题来自 Resharper 并已修复:

避免在资产和包之外创建元文件 (#1489)

于 2020-01-28T07:17:06.677 回答