在过去的几天里,我一直在尝试编译我的.net核心控制台应用程序,并将其上传到运行"Windows Server 2012 R2"的vps.我使用.Net Core的原因是因为库需要它 - Discord.Net 1.0.
我尝试的第一件事就是使用以下文件结构来获取我的发布dll和数据:
LeveledStudios.deps LeveledStudios.dll LeveledStudios.pdb LeveledStudios.runtimeconfig.dev LeveledStdios.runtimeconfig
这在我开发它的PC上执行得很好,然而我进入我的服务器,运行"dotnet LeveledStudios.dll",并面临错误
Error: assembly specified in the dependencies manifest was not found -- package: 'discord.net.commands', version '1.0.0-rc-00546', path: 'lib/netstandard1.3/Discord.Net.Commands.dll`
注意到这适合我的开发PC上的.nuget文件夹的结构,我将其复制并面临同样的问题,并尝试将其复制到与leveledstudios.dll相同的文件夹中,只是遇到一些拒绝工作的.dll文件.这还包括缺少系统dll,如System.Net.Http等.
我做了一些谷歌搜索,并看到有关自包含的.net核心应用程序的信息.这听起来很完美,因为很明显我的问题是它没有编译我所有的额外库.我有点困惑,因为我没有project.json文件,正如我在其上阅读的所有文档中所提到的.
但是在运行时:
dotnet restore dotnet build -r win10-x64
我收到许多错误,建议没有编译任何系统库:
错误
LeveledStudios.csproj的内容:
Exe netcoreapp1.0
如果有人有任何处理.Net核心的经验并且可以给出一些指导,我将不胜感激.