在ClickOnce应用程序中包含一个文件夹

itz*_*run 11 c# clickonce publish

我已经创建了一个Windows C#项目,并将其作为安装的ClickOnce应用程序(在项目属性中发布功能).我想要包含一个包含 Crystal Report(rpt)文件的文件.在我的应用程序中,我已将rpt文件的路径作为我的安装位置.如何在发布时包含此文件夹.这样我就不需要手动复制文件夹了.

Bar*_*rie 23

汤姆已经解释了如何添加文件.您明确表示要在发布后向ClickOnce应用程序添加文件夹.让我们假设您的解决方案的根目录中Dependencies有一个文件夹Reports,其中包含一个包含所有RPT文件的文件夹.以下是如何确保已部署的应用程序包含该Dependencies文件夹的所有内容:

  1. 在Visual Studio中右键单击您的项目,然后选择"卸载项目".
  2. 右键单击并选择编辑csproj文件.
  3. 在结束</Project>标记之前添加:

    <ItemGroup>
    <Content Include="$(SolutionDir)Dependencies\**\*">
    <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
    <Visible>false</Visible>
    </Content>
    </ItemGroup>

  4. 这将从Dependencies文件夹添加到项目中的所有内容.我们正在使用\**\*Include末尾的语法,并%(RecursiveDir)确保该Reports文件夹将出现在已发布的版本以及报告文件中.设置完成后,<Visible>false</Visible>您将看不到混乱解决方案资源管理器的项目.

  • 你先生只是为我节省了很多时间.感谢您的详细说明! (2认同)
  • 如何将整个目录(而不仅仅是其内容)复制到项目中。例如,ClickOnce 应用程序文件夹中存在“foo”文件夹。 (2认同)

Tom*_*ter 19

您必须将项目添加到项目并将其标记为"内容"(在解决方案资源管理器中选择项目,右键单击,属性,设置构建操作).

  • 但这不会创建所需的文件夹.这些文件包含在程序目录中,但如果您需要创建该文件夹,您将如何操作? (2认同)