2016-09-30 10 views
0

Visual StudioでコンパイルしたDLLをUnityプロジェクトにコピーするポストビルドイベントを設定していますが、ターゲットパスで製品名を使用することができません。私のコマンドは次のようになります:Visual Studioポストビルドイベントで製品名を取得するにはどうすればよいですか?

cd $(ProjectDir) 
echo F|xcopy /Y "bin\release\$(AssemblyName).dll" "..\..\..\Assets\Plugins\$(ProductName)\$(AssemblyName).dll" 

しかし、それはプラグインディレクトリにファイルをまっすぐに置きます。

いくつかのプロジェクトでは$(RootNamespace)を使用できますが、フォルダ名にスペースが必要な場合は機能しません。

私は、プロジェクトごとに手動で製品名を入れることができますが、Visual Studioにアセンブリ名のように自動的に行うようにする方法はありますか?

C/C++プロジェクトの場合
+0

なぜプラグインディレクトリにファイルが置かれますか?あなたのケースでは$(ProductName)は何ですか?私は "ProductName"という名前のマルコを見つけることができません。 – zwcloud

+0

$(ProductName)はマクロとして存在しないため、私の場合は何もありません(これは問題です)。パスは..... Plugins \\ $(AssemblyName).....となり、ファイルはPluginsに入ります。 – SilentSin

答えて

0

、(メニューバーの:ビュー/その他のWindows /プロパティマネージャー)

使用the Property Managerあなたのプロジェクトのプロパティを管理します。

新しいプロパティシートで$(ProjectName)のようなカスタムマーコを定義できます。また、プロジェクト間でプロパティシートを共有します。その後、すべてのプロジェクトのポストビルドイベントでマルコを使用できます。 C#プロジェクトの場合

使用the Property Functions。ところで

MSBuild: Permanently Change PropertyGroup Property of a Project

In Visual Studio 2012 (C#) How to Create Custom Macros available in Post Build

、することができます use the environment variables、それはあなたのために良いです場合。

+0

プロパティマネージャーが空白で、「Visual C++プロジェクトがロードされていません」と表示されます。私はC#btwを使用しています。 – SilentSin

+0

それはおそらく私が欲しいものを行うことができるように見えるので、私はあなたの答えを正しいものとしてマークしますが、私はそれを使用しません。パス私は各プロジェクトごとに手動で行いたい。 – SilentSin

関連する問題