Почему Visual Studio создает файлы .meta даже вне папки Assets? - PullRequest
1 голос
/ 28 января 2020

У меня есть следующие настройки проекта:

  • Проект Unity в C:\XXX
  • Добавлен еще один проект в решение, расположенный в C:\XXX\Tests

Теперь, при добавлении класса в этот тестовый проект, я обнаружил, что также добавляется файл .meta.

Это кажется неправильным, поскольку файлы .meta предположительно предназначены только для файлов внутри Assets.

Использование Process Monitor Я обнаружил, что действительно именно devenv.exe создает эти .meta файлы.

Быстрое исправление:

Использование игнорирует Visual Studio и Unity игнорирует, эти .meta файлы не фиксируются в хранилище,

И добавление этого в csproj скроет их :

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

Но на самом деле это только скрывает проблему ...

И, к сожалению, этот подход не будет работать в Directory.Build.props , вынудив одного вручную добавить прежний блок кода в каждый из этих «внешних» проектов.

Вопрос: * 104 3 *

Почему файлы .meta также создаются вне Assets и как это отключить?

1 Ответ

1 голос
/ 28 января 2020

На данный момент размещение этого в Directory.Build.props в root эффективно устраняет необходимость вручную обновлять каждый проект:

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

Но это только скрывает проблему вместо исправить ... и пакеты (# 1489)

...