C# 韩元';无法在Windows服务器上正确运行.exe

C# 韩元';无法在Windows服务器上正确运行.exe,c#,.net,console-application,C#,.net,Console Application,我正在尝试在Windows Server 2019(x64)上运行控制台应用程序。 在服务器上运行.exe后,会写入以下错误: 无法加载或组装“MySql.Data” …等,用于所有依赖项 我试着在几台电脑上运行.exe文件(我没有复制整个发布目录),它运行得很好。他们都赢了64位。 在服务器上,仅当我复制整个/Release目录时,.exe才起作用 我还构建并发布了带有“任意Cpu”选项的应用程序 有没有提示我为什么需要复制整个/bin/release目录来运行.exe? 为什么仅仅使用.ex

我正在尝试在Windows Server 2019(x64)上运行控制台应用程序。 在服务器上运行.exe后,会写入以下错误:

无法加载或组装“MySql.Data”

…等,用于所有依赖项

我试着在几台电脑上运行.exe文件(我没有复制整个发布目录),它运行得很好。他们都赢了64位。 在服务器上,仅当我复制整个/Release目录时,.exe才起作用

我还构建并发布了带有“任意Cpu”选项的应用程序

有没有提示我为什么需要复制整个/bin/release目录来运行.exe? 为什么仅仅使用.exe文件还不够


非常感谢

exe文件不包含使用过的DLL,只包含对DLL的引用。这就是它们位于发布目录中的原因,也是您需要复制整个目录的原因

问候
Bernd

这可能是因为MySql缺少依赖项。您需要在服务器上安装的依赖项是Connector/NET,可以从MySql主页轻松下载。您应该始终将这些类型的依赖项随应用程序一起提供。如果它在一台电脑上工作,那可能是因为相关软件安装在那台电脑上。你不应该依赖它。它很可能在电脑上工作,因为gac中存在
MySql.Data
dll。在服务器上安装相关软件包,或复制整个发行版文件夹。虽然安装程序会更好,但我可以将依赖项包含到exe文件中吗?不可以。您需要创建一个安装程序。单击一次或通过WixToolset。或者是即将推出的.NETCore3。