添加一个目录以进行clickonce

时间:2015-11-09 22:02:16

标签: c# windows visual-studio-2013

我想将目录及其文件添加到visual studio中,保留根目录。我使用.csproj文件中的下面的XML来完成此操作,但这确实将其所有文件添加到解决方案资源管理器中但排除了根目录。该文件是可变的,我不想手动添加硬编码。这就是我寻找自动化解决方案的原因。

我该如何解决这个问题?

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

我想在ClickOnce发布中包含此目录(而不仅仅是其文件)。

2 个答案:

答案 0 :(得分:2)

我无法想到创建文件夹的任何自动方式,并让solutin explorer了解这些文件。所以我在右键单击项目时创建了文件夹 - &gt;新增文件夹。卸载项目并编辑了一段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>