2015-11-09 3 views
0

Я хочу добавить каталог и его файлы в визуальную студию, поддерживая корневую директорию. Я сделал это с приведенным ниже фрагментом XML в моем файле .csproj, но это добавляет все его файлы в проводник решений, но исключает его. Файл является переменным, и я не хочу, чтобы их жесткий код добавлялся вручную. Вот почему я ищу автоматическое решение.Добавить каталог для clickonce

Как исправить это?

<ItemGroup> 
    <Content Include="bin\x86\release\myFolder\**\*"> 
     <Visible>true</Visible> 
     <Link>%(RecursiveDir)%(Filename)%(Extension)</Link> 
    </Content> 

Я бы хотел включить этот каталог (и не только его файлы) в публикацию ClickOnce.

ответ

1

Я не мог придумать никакого автоматического способа создания папки и сообщить обозревателю Solutin об этих файлах. Поэтому я создал папку, щелкнув правой кнопкой мыши по проекту -> добавить папку. Разгрузка проект и редактировал кусок XML, который добавить каталог, который я создал для решения исследователя к этому:

<ItemGroup> 
    <Content Include="foo\*.*"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
     <Visible>True</Visible> 
    </Content> 
    </ItemGroup> 

Теперь решение исследователь знает о том, что файлы и так делает ClickOnce. Файлы правильно попадают в папку app.publish

ПРИМЕЧАНИЕ. В этом проекте файлы foo поступали из другой папки (внешней двоичной выходной папки C++). Они копируются в момент после сборки. Имя папки является своеобразным жестко запрограммированным (мне нужно выполнить их вручную в проводнике VS-решений, в файле .csproj и в командной строке xcopy при пост-сборке), потому что я не нашел другого способа сделать что.

+1

кажется простым способом выполнить то, что вам нужно. –

0
<Target Name="AddGeneratedFiles" AfterTargets="SOMETASK"> 
    <CreateItem Include="*.cpp"> 
     <Output TaskParameter="Include" ItemName="ClCompile" /> 
    </CreateItem> 
    </Target> 
+0

У меня такое же поведение. Это должно быть поставлено прямо до конца? – Jack

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