【问题标题】:Clickonce missed out folder in binClickonce 错过了 bin 中的文件夹
【发布时间】:2011-04-08 12:01:59
【问题描述】:

您好,我如何使用 clickonce 从我的 bin 文件夹中发布文件?

我使用构建事件xcopy "$(ProjectDir)\..\project.Sql\AlterProductionServer" "$(TargetDir)\AlterProductionServer" /i /y成功地将一个 .sql 脚本文件夹复制到 bin 文件夹中

我这样做的目的是要求系统在启动时检查任何数据库脚本更改。系统将检查 bin 文件夹中的脚本。我 xcopy 到 bin 的原因,以便在部署时,我的客户端电脑也会从同一位置读取它。如果找到,那么它会在运行系统之前运行 .sql 脚本来更新数据库。

但是,当我单击“发布”->“应用程序文件”时,我没有看到包含已复制到 bin 的 .sql 文件的 AlterProductionServer 文件夹供我选择Include

请指教。

【问题讨论】:

    标签: c# winforms clickonce


    【解决方案1】:

    在 Visual Studio IDE 中通过 ClickOnce 发布时,它只会提供来自项目/解决方案的文件,而不是来自文件系统的文件。您可以将 .sql 文件添加到项目中,将构建操作设置为 Content 并指定将其复制到输出目录。这消除了对 xcopy 构建操作的需要,并使 VS 意识到文件的重要性。

    如果重建后它仍不会显示在应用程序文件部分,您可能需要考虑编写自己的应用程序/部署清单文件 (XML) 并使用命令行 ClickOnce 实用程序来发布您的解决方案.我发现在我的 ClickOnce 分发中包含不依赖于主项目的项目时,这是必要的。

    【讨论】:

    • 您好,感谢您的回复。但我想将整个文件夹及其内容复制到输出中。当我右键单击包含所有 .sql 脚本的文件夹的属性时,我看不到“始终复制”。我只能复制该文件夹内的脚本。如果是这样,那么系统将很难搜索这些脚本。
    • 谢谢 实际上Content 已经能够复制整个文件夹,其中包含脚本。谢谢你
    • 一个问题,如果通过将构建操作设置为Content并设置Copy Always将带有文件夹的脚本复制到bin文件夹,系统是否可以在使用clickonce部署后识别那些脚本文件夹位置为这个 ?` 私有字符串 databaseUpdatePath = System.Windows.Forms.Application.StartupPath + "\\AlterProductionServer";`
    • 如果它们被包含在部署中,它们的原始文件夹结构将被保留,因此您可以使用相对于安装位置的路径来引用它们,是的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多