我通常只是在C#中创建Web应用程序,但我们试图转向创建WinForms应用程序。我创建了一个OpenVPN客户端,它基本上是OpenVPN.exe
顶部的外观。该项目需要包含OpenVPN.exe
文件,其位置如下:
string ovpnLocation = System.Windows.Forms.Application.StartupPath
+ "\\OpenVPN_Client\\openvpn.exe";
我在VS中的文件中应用了以下属性:
现在,当我尝试使用ClickOnce安装程序部署应用程序时,出现以下错误:
File, openvpn.exe, has a different computed hash than specified in manifest.
在我可以在整个互联网上找到的每个其他帖子中清理,重建和遵循说明后,我似乎无法解决这些当前设置的问题。我能够安装和运行它的唯一方法是将文件上的设置更改为以下内容:
现在使用这些设置,在部署时,我没有得到相同的哈希错误,但似乎文件的位置已经移动,我的代码抛出了所有地方的execptions,因为它找不到它。< / p>
所以有两个解决方案:
任何帮助都非常感谢!
答案 0 :(得分:0)
我设法通过将项目升级到.Net 4.0来解决这个问题。
使用相对路径解决了文件路径的问题:
string ovpnLocation = "OpenVPN_Client\\openvpn.exe";
而不是尝试创建绝对:
string ovpnLocation = System.Windows.Forms.Application.StartupPath
+ "\\OpenVPN_Client\\openvpn.exe";