2016-09-30 43 views
0

我正在設置一個後期構建事件,將由Visual Studio編譯的DLL複製到我的Unity項目中,但我無法讓它在目標路徑中使用產品名稱。我的命令如下所示:如何在Visual Studio後期構建事件中獲取產品名稱?

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

但是,這會將文件放在Plugins目錄中。

對於某些項目,我可以使用$(RootNamespace),但如果我想在文件夾名稱中使用空格,則不起作用。

我知道我可以只爲每個項目手動輸入產品名稱,但有沒有辦法讓Visual Studio自動執行,就像使用程序集名稱一樣?

+0

爲什麼將文件放在Plugins目錄中?你的情況是$(ProductName)?我找不到名爲「ProductName」的marco。 – zwcloud

+0

$(ProductName)在我的情況下是沒有的,因爲它不作爲宏存在(這是問題)。路徑變成..... Plugins \\ $(AssemblyName).....所以文件進入插件。 – SilentSin

回答

0

對於C/C++項目,

使用the Property Manager(在菜單欄:查看/其他的Windows /物業經理)來管理你的項目的性質。

您可以在新的屬性表中定義像$(ProjectName)這樣的自定義marco。並在您的項目中共享屬性表。然後,您可以在每個項目的後期製作活動中使用marco。

對於C#項目,

使用the Property Functions

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

MSBuild: Permanently Change PropertyGroup Property of a Project

順便說一句,你可以use the environment variables,如果它是對你有好處。

+0

屬性管理器爲空,並顯示「未加載Visual C++項目」。我使用C#順便說一句。 – SilentSin

+0

這東西看起來像它可能做我想做的事情,所以我會標記你的答案是正確的,但我不會使用它,因爲要花費更長的時間來弄清楚如何得到我需要的東西,而不僅僅是放在我想爲每個項目手動創建路徑。 – SilentSin

相關問題