我想知道是否有人可以帮我做点什么。
主要思想是我想要一个 .NET Framework 控制台应用程序,它被构建并打包到单个文件中(存档或类似的东西,如 java 世界中的 jar 文件,包含所有引用的 .dll 文件、源文件和其他项目文件),我可以部署在另一台机器上。
我使用 .NET 4.7.2 构建了一个控制台应用程序,它从远程服务器接收数据并将其推送到 RabbitMQ。我使用 .p12 文件向 RMQ 进行身份验证,我将其保存在我的应用程序中名为“Others”的子文件夹中。
当我从 Visual Studio 2019 运行它时,它可以工作,但是当我尝试释放它并从该文件夹运行它或将它安装在我的 Windows 10 机器上时,它不再工作了。它给了我以下例外:
RabbitMQ.Client.Exceptions.BrokerUnreachableException: None of the specified endpoints were reachable ---> System.AggregateException: One or more errors occurred. ---> System.Security.Cryptography.CryptographicException: The system cannot find the path specified.
...
当我通过发布窗口发布应用程序时,我选择了一个输出文件夹,我得到以下文件和文件夹:
- (文件夹)应用程序文件
- (文件)设置,文件类型 - Application.exe (.application)
- (文件)ConsoleApp,文件类型 - 应用程序清单 (.application) 包含 RabbitMQ 客户端的 RabbitMQ .dll 文件位于文件夹“Application Files\ConsoleApp_1_0_0_13”以及其他 .dll 文件和一个子文件夹(“XMLRequest” ) 但不包含我项目的其他子文件夹。我无法在应用程序的发布屏幕中添加我的 .p12 密钥所在的这些子文件夹,即“其他”。
另一种不起作用的情况是,我将整个“Release”子文件夹复制到另一个位置,然后从那里运行 ConsoleApp.exe。我收到相同的错误消息。
有人有想法吗?谢谢 !




