前提・実現したいこと
UNITYのスクリプトにAssembly Definitionを追加した後、UNITY側のビルドは正常なのに、VisualStudio側は常にソリューションに紐づくプロジェクト間でライブラリを共有してくれない関連のビルドエラーになる。
正常にビルドし、VisualStudio側でコーディングできるようにしたい。。
発生している問題・エラーメッセージ
下記、試したことに画損添付。
該当のソースコード
■フォルダ
Script/TestA.cs
Script/TestInput/InputTest.cs
Script/TestInput/TestInput.asfdef
TestA.cs
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5using TestInput; 6 7public class TestA : MonoBehaviour 8{ 9 void Update() 10 { 11 if (InputTest.InputCheck()) 12 { 13 GetComponent<Text>().text = "test"; 14 } 15 } 16}
InputTest.cs
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5namespace TestInput 6{ 7 public class InputTest 8 { 9 public static bool InputCheck() 10 { 11 return Input.GetKey(KeyCode.Space); 12 } 13 } 14}
試したこと
- UNITY側でデバッグ実行して、スペースキーを押すと画面にtestと表示される。
- VisualStudio側でソリューションのビルド、又はデバッグ実行をするとエラーが2件。
-
Assembly-CSharpのビルドの依存関係でTestInputにチェックが入っており、ビルドの順序はTestInput、Assembly-CSharpの順になっている。
-
Assembly-CSharpの参照にTestInputがあり、プロパティで「ローカルにコピー」がTrueになっている。
補足情報(FW/ツールのバージョンなど)
Unity2019.3.12f1 VisualStudio2017 Community,2019 Community
(VSは2017,19の両方で確認しました。)
そもそもは、Assembly Definitionを複数使っている(つまりVS側で複数のプロジェクトがある)アセットを使用すると、Unity側は正常なのにVS側でビルドできない問題があり、原因を探していてここまで辿り着きました。アセットの例で言えばCorgi Engineですが、他にもAssembly Definitionを複数使っているアセットは同様の現象になります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。