Unityが生成する.csprojファイル名の変更の問題
3453 ワード
Unityによって生成されたc#プロジェクト名のデフォルトは
テストにより、
また、文書を調べたところ、 Customize Project Files Created by VSTU VSTU修正VSTU生成csprojファイル Share the Unity Log Callback with VSTU共有Visual Studioの出力はUnity へ
Assembly-CSharp.csproj
とAssembly-CSharp-firstpass.csproj
です.しかし、最近では一部の種目の名前が{projectname}.csproj
と{projectname}.Plugins.csproj
になった.テストにより、
Visual Studio Tools for Unity(VSTU)
はcsprojファイル名{projectname}
を自動的に変更します.ドキュメントを参照しても、ChangeLogには対応する記録説明とBug修正があります.csprojのファイル名が同じであることを保証するためには、すべてのマシンにVSTU
をインストールする必要があります.VS 2015以前のバージョンでは、拡張と更新でインストールできます.VS 2017以降のバージョンは、Visual Studio Installer
でインストールする必要があります.また、文書を調べたところ、
VSTU
には少量のプログラマブルメソッドが含まれているという説明がありました.using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using UnityEngine;
using UnityEditor;
using SyntaxTree.VisualStudio.Unity.Bridge;
[InitializeOnLoad]
public class ProjectFileHook
{
// necessary for XLinq to save the xml project file in utf8
class Utf8StringWriter : StringWriter
{
public override Encoding Encoding
{
get { return Encoding.UTF8; }
}
}
static ProjectFileHook()
{
ProjectFilesGenerator.ProjectFileGeneration += (string name, string content) =>
{
// parse the document and make some changes
var document = XDocument.Parse(content);
document.Root.Add(new XComment("FIX ME"));
// save the changes using the Utf8StringWriter
var str = new Utf8StringWriter();
document.Save(str);
return str.ToString();
};
}
}
using System;
using UnityEngine;
using UnityEditor;
using SyntaxTree.VisualStudio.Unity.Bridge;
[InitializeOnLoad]
public class LogCallbackHook
{
static LogCallbackHook()
{
VisualStudioIntegration.LogCallback += (string condition, string trace, LogType type) =>
{
// place code that implements your log callback here
};
}
}