2012-05-26 82 views
2

我在想如何在爲新項目類型創建MonoDevelop Addins時如何將「複製到輸出目錄」選項設置爲「複製如果是新的」? ?MonoDevelop Addin:如何在「xpt.xml」文件中設置CopyToOutput構建選項

拿這塊代碼爲例,...我需要添加什麼來獲取「manifest.json」在構建時複製到輸出目錄?

<?xml version="1.0"?> 
<Template originator = "Andrew Witte"> 

    <TemplateConfiguration> 
     <_Name>MonoNaCl Project</_Name> 
     <_Category>C#/MonoNaCl</_Category> 
     <LanguageName>C#</LanguageName> 
     <_Description>Creates a MonoNaCl project.</_Description> 
    </TemplateConfiguration> 

    <!-- Actions --> 
    <Actions> 
     <Open filename = "Internal.c"/> 
     <Open filename = "Main.cs"/> 
    </Actions> 

    <Combine name = "${ProjectName}" directory = "."> 
     <Options> 
      <StartupProject>${ProjectName}</StartupProject> 
     </Options> 
     <References> 
      <Reference type="Gac" refto="System" /> 
     </References> 
     <Project name = "${ProjectName}" directory = "." type = "MonoNaCl"> 
      <Options Target = "Exe"/> 
      <Files> 
<File name="manifest.json"> 
<![CDATA[{ 
"name": "MonoNaCl", 
    "description": "Mono for NaCl project.", 
    "version": "1.0.0", 
    "icons": { 
    }, 
    "requirements": { 
    "3D": { 
     "features": ["css3d", "webgl"] 
    } 
    }, 
    "app": { 
    "launch": { 
     "local_path": "${ProjectName}.html" 
    } 
} 
} 
]]></File> 
</Files> 
     </Project> 
    </Combine> 
</Template> 
+0

你有沒有找到解決方案? – 7sharp9

+0

@ 7sharp9 Ya當項目構建時,我必須自己手動複製這些文件。代碼過時,但這裏是我所做的:https://github.com/reignstudios/ReignSDK/blob/master/Tools/MonoDevelop.MonoNaCl/MonoDevelop.MonoNaCl/Projects/MonoNaClProject.cs#L398 – zezba9000

回答

1

不可能沒有目前向modifying core添加屬性這一點,或registering a custom template type

但是,TBH而不是複製到輸出我會使用自定義構建操作和構建擴展來複制具有該構建操作的文件。

+0

我以爲會有是將模板中的構建操作設置爲內容的一種方式。看起來很奇怪,沒有多少人需要這樣做? – 7sharp9

+0

您可以使用BuildAction屬性在文件上設置構建操作。大多數模板並不是因爲它們依賴項目來根據文件類型或位置自動設置正確的構建操作。 –

+0

但是,「內容」構建操作並不意味着什麼,除非您有自定義的MSBuild目標或處理它的自定義項目構建擴展。 –

相關問題