Berikut adalah lingkungan server saya

  • Server : VPS
  • Tuan rumah: AWS EC2
  • OS : CentOS Linux 8.3.2011
  • Plesk : Plesk Obsidian 18.0.34
  • Versi .Net : .Net Core 3.1.11 (Diinstal secara manual dari linux CLI)

Apa yang saya cari

Saya telah membuat aplikasi uji inti .Net dan mencoba menjalankan aplikasi menggunakan yang berikut dan semuanya berfungsi dengan baik. Aplikasi berjalan dengan baik dengan "Halo Dunia!", Semua Bagus.

dotnet new console
dotnet run

Tetapi ketika saya mencoba memublikasikan dan menjalankan aplikasi,

dotnet publish -c Release 
dotnet -d contest.dll

Ini memberikan kesalahan berikut, saya telah memastikan jalur dan nama file semuanya benar.

Telemetry is: Disabled
projectfactory: MSBUILD_EXE_PATH = /usr/lib64/dotnet/sdk/3.1.111/MSBuild.dll
projectfactory: MSBuild project path = 
projecttoolscommandresolver: ProjectFactory did not find Project.
Microsoft.DotNet.Cli.Utils.CommandUnknownException: Could not execute because the specified command or file was not found.
Possible reasons for this include:
  * You misspelled a built-in dotnet command.
  * You intended to execute a .NET Core program, but dotnet-contest.dll does not exist.
  * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
   at Microsoft.DotNet.CommandFactory.CommandFactoryUsingResolver.Create(ICommandResolverPolicy commandResolverPolicy, String commandName, IEnumerable`1 args, NuGetFramework framework, String configuration, String outputPath, String applicationName)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
   at Microsoft.DotNet.Cli.Program.Main(String[] args)

Saya telah mencoba API, Konsol, dan templat lainnya. Kesalahan tetap sama untuk semua.

Bantuan apa pun akan sangat dihargai.

Banyak Terima Kasih & Salam

0
Xpertie Services 8 April 2021, 08:02

1 menjawab

Jawaban Terbaik

Coba dotnet contest.dll dulu. Harap perhatikan tidak adanya opsi -d dalam perintah.

Bahkan saat itu tidak berjalan kemungkinan besar itu adalah masalah izin. Apakah pengguna memiliki izin yang dapat dieksekusi? Anda dapat mencoba memberikan izin menggunakan chmod ### directory/where/dotnet/publish selesai. Coba beri 777 izin dan periksa.

Anda juga dapat mencoba menghapus file cache Nuget di /tmp/NuGetScratch/lock/ menggunakan perintah rm /tmp/NuGetScratch/lock/* jika beberapa pengguna lain telah menggunakan perintah chmod. Terkadang file kunci nuget membuat masalah jika banyak pengguna memiliki akses ke direktori lock.

0
Nischal P Varasada 9 April 2021, 13:58