最後の数日間、私は.netコアコンソールアプリケーションをコンパイルし、それを "Windows Server 2012 R2"を実行するvpsにアップロードしようとしていました。私が.Net Coreを使用している理由は、これがライブラリ - Discord.Net 1.0に必要なためです。コンパイル.Net Core VS17
私が試した最初のものは、単純に以下のファイル構造で、私のリリースのdllとデータを取っていた。
LeveledStudios.deps
LeveledStudios.dll
LeveledStudios.pdb
LeveledStudios.runtimeconfig.dev
LeveledStdios.runtimeconfig
これは、PC上で実行するためうまく働いた私は、それを開発したが、私はその後、私の入りましたサーバー、「DOTNETのLeveledStudios.dll」を実行し、エラーこれは私の開発用PC上で.nugetフォルダの構造を装着着目
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`
に直面していた、私が渡ってそれをコピーして、同じ問題に直面して、試してみましたleveledstudios.dllと同じフォルダにコピーします。作業を拒否するいくつかの.dllを実行します。これには、System.Net.HttpなどのシステムDLLの欠落も含まれていました。
私はいくつかのグーグルを行い、独自の.netコアアプリケーションに関する情報を見ました。私の問題は明らかに、私の追加のライブラリすべてでコンパイルされていなかったからです。私はproject.jsonファイルを持っていなかったので、少し混乱しました。
しかし実行している場合:
dotnet restore
dotnet build -r win10-x64
私はエラーのホストを取得し、システムライブラリのどれを示唆していないと、コンパイルされていますLeveledStudios.csprojの
内容:
を<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="**\*.cs" />
<EmbeddedResource Include="**\*.resx" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Discord.Net" Version="1.0.0-rc-00546" />
<PackageReference Include="Discord.Net.Commands" Version="1.0.0-rc-00546" />
<PackageReference Include="Discord.Net.Core" Version="1.0.0-rc-00546" />
<PackageReference Include="Discord.Net.WebSocket" Version="1.0.0-rc-00546" />
<PackageReference Include="Microsoft.NETCore.App" Version="1.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="9.0.2-beta2" />
</ItemGroup>
</Project>
誰もがwiを扱っている経験があればネットコアといくつかの方向を与えることができる、私はそれを感謝します。
project.json = VS2015、.csproj = VS2017 –
、しかし、私はしました.csprojのために何をすべきかに関する文書が見つかりませんでした。 – OllysCoding
'dotnet publish'を実行してみてください。これにより、アプリケーションを別のマシンにデプロイするために必要なすべての成果物が公開されます。 –