[英]How to deploy a C# (ClickOnce?) project that is a wrapper on a command line .exe
我有一个 C# 项目,它基本上是一个 GUI,用于使用命令行参数调用其他可执行文件。 (命令行 exe 实际上是用 cygwin 构建的,并使用 cugwin DLL)。
因此,部署应用程序后(通过 setup.exe 或其他方式)需要存在的目录结构是这样的:
install dir ---> MyApp.exe
MyApp.config
(dir) bin ---> cmd1.exe
cmd2.exe
cygwin.dll
现在这应该很简单,但是无论我尝试什么,当我使用 setup.exe 在第二台机器上安装时,我都无法复制 bin 目录及其内容。 我试过: - 将它们添加为资源 - 将“构建操作”设置为内容 - 将“复制到输出目录”设置为始终
但是当我这样做时,bin 目录从未被复制过。 我试过在这里和其他地方搜索,但我仍然不知所措。
这应该是一个“ClickOnce”项目吗? (这甚至意味着什么 - 还有 ClickTwice 和 ClickUntilYouCanClickNoMore 项目 - 好吧,对不起......)
我也得到 setup.exe 把这个应用程序放在像 C://Program Files/MyOrg/Myapp 这样理智的地方 - 而不是被埋在用户个人资料的某个地方?
(使用 VS 2019。)
要将指定的文件打包到 ClickOnce 中,您只需要将其添加到Application Files...
。
以下是文件夹结构。
然后确认它已添加到Application Files...
。
最后一步,发布。 您可以像这样访问图像。
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + @"/img/a.jpg");
}
至于put this app somewhere sane
,恐怕答案是否定的。
ClickOnce 的安装路径无法更改。 您可以在C:\\Users\\username\\AppData\\Local\\Apps\\2.0
找到它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.