.net core .net core 2控制台应用程序的自包含发布未部署正确版本的System.Data.SqlClient

.net core .net core 2控制台应用程序的自包含发布未部署正确版本的System.Data.SqlClient,.net-core,.net Core,我有一个使用.Net Core 2.0创建的小控制台应用程序,在我的开发机器上,无论是通过Visual Studio 2017调用还是使用“dotnet”命令从命令提示符调用,一切都正常 但是,当我将应用程序发布(使用dotnet publish)为自包含,然后将其放在我们的一台服务器上时,尝试运行它会给我一个错误: Error: An assembly specified in the application dependencies manifest (Reporter.deps. js

我有一个使用.Net Core 2.0创建的小控制台应用程序,在我的开发机器上,无论是通过Visual Studio 2017调用还是使用“dotnet”命令从命令提示符调用,一切都正常

但是,当我将应用程序发布(使用dotnet publish)为自包含,然后将其放在我们的一台服务器上时,尝试运行它会给我一个错误:

Error:
  An assembly specified in the application dependencies manifest (Reporter.deps.
json) was not found:
    package: 'System.Data.SqlClient', version: '4.4.0'
    path: 'runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll'
检查发布文件夹,其中的System.Data.SqlClient.dll程序集的版本似乎为4.6.25519.03

有人愿意冒险猜测一下,为什么它发布了一个不同于它所依赖的版本


Martin

我在dotnet 3.1.101上编写的控制台应用程序也有同样的问题。但后来我注意到,在我的发行版中,忘记复制名为“runtimes”的文件夹。

我的一个应用程序出现了一个非常类似的问题,我将它从.NET Core 1.x升级到了2.0(当.NET Core 2.0的第一次预览发布时)。事实证明,其中一个旧DLL仍然存在于我将应用程序上载到的目录中。这发生在我身上,因为我没有删除旧的部署,当我从AppVEyor出版,也许这是类似的。谢谢评论-当然有其他人要考虑的东西,但这是出版到处女目录…不过我会再试一次-值得一试。啊,很抱歉,这与你无关。你有没有想过@MartinMilan?