当我构建我的.NET Core 2.0控制台应用程序时,我将其移至服务器,然后我尝试运行它。我收到错误“应用程序依赖项清单中指定的程序集...”
我将dll添加到它正在搜索的本地文件夹中,但它最终仍然需要像Data.SqlClient这样的系统dll。
如何构建包含输出文件中所有依赖项的项目?我已经使用Visual Studio 2017发布了该项目,但是,当我复制所有这些文件时,它仍然说缺少了。我尝试使用VSCode构建和发布并遇到同样的问题。
感谢。
尼克
答案 0 :(得分:0)
我遇到了类似的问题。当我在主机环境中部署我的应用程序并使用dotnet命令执行时,例如" dotnet myapp.dll"它使用主机环境的.NET Core运行时工作正常。 但是当我将包含.exe文件的独立应用程序打包为相同的应用程序以启动应用程序时,我在执行.exe文件时遇到了Newtonsoft.json Nuget Package的错误。 我的观察结果如下,我能够相应地解决问题。
依赖于框架的部署:
如果应用程序使用第三方库,并且意图是在主机环境中使用.NET Core运行时,那么在"管理解决方案包中的复选框"必须在Nuget包管理器中检查(如屏幕截图所示)。
自包含部署:
如果发布的应用程序应该是主机环境中的独立应用程序(即使使用.exe文件),则应用程序的.csproj文件应包含指定的RuntimeIdentifiers (.NET Core RIDs)。此外,第三方库必须包含在PackageReference中。例如,
参考:https://docs.microsoft.com/en-us/dotnet/core/deploying/deploy-with-vs
答案 1 :(得分:-1)
您需要发布应用程序以包含所有依赖项