1

我在 C#.NET/Visual Studio 中开发了一个工具,它使用导入的 dll。构建项目时,dll 将被复制到输出文件夹。

它不需要安装应用程序,您只需将exe和dll复制到本地文件夹即可启动。

现在我想从网络共享启动应用程序:

\\localhost\program\prog.exe

一切都很好,而我不从外部 dll 调用函数。然后它崩溃并出现以下错误窗口:

程序已停止工作...

问题:有没有一种方法可以在不复制到本地文件夹且不更改客户端计算机上的策略的情况下使其工作?

答:将\localhost 映射到Z:解决了这个问题。

请随时问,这是我的第一个问题;-)

最好的问候,克里斯蒂安

4

1 回答 1

1

听起来像一个“caspol”问题。网络共享之类的\\localhost\program\信任度降低。有趣的是,从(前段时间)起,命名共享实际上得到了更多的信任——所以一个简单的选择是映射,比如说,z:as\\localhost\program和 access——z:\prog.exe你可能会发现这使它工作。除此之外,选项包括:

  • caspol 更改每个客户端计算机
  • 点击一次

其中,后者更简单。然后,您只需运行 ClickOnce 应用程序(而不是 .exe)- ClickOnce 基本上就可以运行了。IIRC 用户在第一次运行应用程序时需要单击“确定”,仅此而已。您需要确保外部 dll 在 ClickOnce 部署中是已知的,即它在项目中并标记为要发货。

于 2013-08-14T07:46:42.440 回答