2012-05-26 4 views
2

Мне было интересно, как вы установили опцию «Скопировать в выходной каталог», чтобы «копировать, если новый» при создании добавок MonoDevelop для новых типов проектов? ?MonoDevelop Addin: как установить вариант сборки CopyToOutput в файле «xpt.xml»

Возьмите этот блок кода, например, ... что мне нужно добавить, чтобы «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 Я должен был вручную скопировать файлы сам при создании проекта. Коды устарели, но вот что я сделал: 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 или настраиваемого расширения сборки проекта, которое его обрабатывает. –

Смежные вопросы