-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
概要
- pretendland_yakult の 88698cec8a649d333a3d043812f4f247e6bfd2a5 に対してコードフォーマットをかけると、
- Assets/Scripts/View/StoryInspect/BottleColumnView.cs にて必要なBoothのusingが消えてしまうという事象が発生した。
分かっている症状
- ExternalToolにVSCodeを指定する場合と、Riderを指定する場合とで出力されるcsprojの形式が異なる。
- riderで出力したcsprojは、dotnet buildでそのままビルドできる。
- vscodeで出力したcsprojは、dotnet buildで指定してもビルドできない。
- (どちらもUnity上では問題なくコンパイルできる)
該当ハッシュをvscodeで開いた場合
- PretendLand.Yakult.View.StoryInspect.BottleColumnViewにて以下のエラーが出る
型または名前空間の名前 'LogEventTap' が名前空間 'PretendLand.Analytics' に存在しません (アセンブリ参照があることを確認してください)[CS0234](https://msdn.microsoft.com/query/roslyn.query?appId=roslyn&k=k(CS0234))
namespace PretendLand.Analytics
- 上記に関連して、下記警告も出る
Using ディレクティブは必要ありません。[IDE0005](https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)
namespace PretendLand.Booth
vscodeでエラーが出ないように修正する場合は以下のようにする。
- using PretendLand.Booth;
- Analytics.LogEventTap("abnormal");
+ Booth.Analytics.LogEventTap("abnormal");
該当ハッシュをriderで開いた場合
- 何もしなくてもエラーはでない
対応方法
- vscodeのまま正しく認識させる方法 -> 不明
影響
- コードフォーマットを行うActionは 202ビルド鯖のSelf-Hosted runnerで動いている。
- ビルド鯖にはRiderのライセンスが無いため、UnityのExternalToolにはVSCodeを指定してある。
- そのため、今回のようなコードを整形した場合、アセンブリ参照が正しく解決されずに必要なusingが消えてしまう。
- ヤクルト以外のリポジトリで同様の症状が出るのかは把握できていない。
Metadata
Metadata
Assignees
Labels
No labels