Jai*_*Jai 1 c# clickonce gac .net-4.0 command-line-arguments
我有一个命令行控制台应用程序,它引用了一个 dll 'VMware.Vim.dll',但这有其他引用的 dll,如 VimService41.dll、VimService20.dll 等保存在我本地机器上的 GAC 中。我想将此 exe 部署到任何计算机并能够通过传递参数来运行它。当我复制 exe 和 VMware.Vim.dll 时,它会抱怨其他缺少的 dll,尽管它们不是发布文件夹的一部分。
我尝试了发布选项并创建了一个 ClickOnce 应用程序以将其部署到我想从中执行 exe 的机器上。这创建了一个 setup.exe 和一个清单文件。当我运行它时,它抱怨外部 dll 尚未添加到 GAC。
如何通过传递参数来运行此 clickonce 控制台应用程序?
首先,您不会通过运行 EXE 来运行 ClickOnce 应用程序。如果你打算这样做,只需将 bin 文件夹从你的构建复制到机器上。如果您不需要进行自动更新,那么使用 ClickOnce 就是在浪费生命。
其次,您可以尝试跟踪您需要的所有 dll 并将它们包含在项目中。这包括所有二级或三级依赖项。将它们添加到您的项目中,将构建操作设置为“内容”,并将“复制到输出目录”设置为“始终复制”。然后它们将在您构建时包含在输出目录中。
某些应用程序的 dll 在本地部署时可以工作(如 DirectX),而有些则不能(SQLServer Express)。你只需要尝试一下,看看这些是否有效。
但是,我想说,使用 VMWare 程序集可能违反 EULA。这就像尝试包含 Office 程序集以便在未安装它的机器上运行 Excel。
至于传递参数,如果您真的想将其用作 ClickOnce 应用程序,这里有一篇博客文章解释了如何将参数传递给离线(或在线)ClickOnce 应用程序:
归档时间: |
|
查看次数: |
3968 次 |
最近记录: |