ฉันมีคอนโซลแอป .NET dotnet publish
หลักและมีการวิ่ง อย่างไรก็ตามฉันไม่สามารถหาวิธีเรียกใช้แอปพลิเคชันจากบรรทัดคำสั่ง คำใบ้ใด ๆ
ฉันมีคอนโซลแอป .NET dotnet publish
หลักและมีการวิ่ง อย่างไรก็ตามฉันไม่สามารถหาวิธีเรียกใช้แอปพลิเคชันจากบรรทัดคำสั่ง คำใบ้ใด ๆ
คำตอบ:
ถ้ามันเป็นโปรแกรมกรอบขึ้นอยู่กับ (ค่าเริ่มต้น), dotnet yourapp.dll
คุณเรียกใช้งานโดย
หากเป็นแอปพลิเคชันที่มีในตัวคุณจะสามารถใช้งานได้yourapp.exe
บน Windows และ./yourapp
Unix
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างแอพทั้งสองประเภทให้ดูบทความ. NET Core Application Deploymentบน. Net Docs
dotnet run
ถ้าคุณต้องการที่จะเรียกใช้โปรแกรมที่คุณกำลังพัฒนาคุณใช้ แล้วคุณมองที่ไหน คุณคาดหวังข้อมูลนี้ที่ไหน
dotnet run
ทำงานได้เหมือนกันสำหรับโครงการ csproj ใหม่เช่นเดียวกับ project.json
dotnet run
ตรวจสอบให้แน่ใจว่าคุณอยู่ในไดเรกทอรีโครงการไม่ใช่ไดเรกทอรีโซลูชัน
คุณสามารถสร้าง EXE (สำหรับ Windows) ได้อย่างง่ายดายโดยไม่ต้องใช้คำสั่งการสร้างแบบเข้ารหัสใด ๆ คุณสามารถทำได้ใน Visual Studio
คุณยังสามารถเรียกใช้แอพของคุณเหมือนกับแอปพลิเคชั่นคอนโซลอื่น ๆ แต่หลังจากเผยแพร่
สมมติว่าคุณมีแอพคอนโซลที่ชื่อ MyTestConsoleApp เปิดคอนโซลตัวจัดการแพคเกจและเรียกใช้คำสั่งต่อไปนี้:
dotnet publish -c Debug -r win10-x64
แฟล็ก -c หมายความว่าคุณต้องการใช้การกำหนดค่าการดีบัก (ในกรณีอื่นคุณควรใช้ค่า Release) - แฟล็ก r หมายความว่าแอปพลิเคชันของคุณจะถูกเรียกใช้บนแพลตฟอร์ม Windows ที่มีสถาปัตยกรรม x64
เมื่อกระบวนการเผยแพร่เสร็จสิ้นคุณจะเห็นไฟล์ * .exe ที่อยู่ในไดเรกทอรี bin / Debug / เผยแพร่ของคุณ
ตอนนี้คุณสามารถเรียกมันผ่านเครื่องมือบรรทัดคำสั่ง เพื่อเปิดหน้าต่าง CMD (หรือเทอร์มินัล) ย้ายไปยังไดเรกทอรีที่ไฟล์ * .exe ของคุณตั้งอยู่และเขียนคำสั่งถัดไป:
>> MyTestConsoleApp.exe argument-list
ตัวอย่างเช่น:
>> MyTestConsoleApp.exe --input some_text -r true
ด้วย dotnetcore3.0 คุณสามารถแพคเกจการแก้ปัญหาทั้งหมดเป็นไฟล์เดียวที่ปฏิบัติการโดยใช้PublishSingleFile
สถานที่ให้บริการ
-p:PublishSingleFile=True
แหล่ง ไฟล์เดี่ยวที่ปฏิบัติการได้
ตัวอย่างของSelf Contained
, Release
OSX ปฏิบัติการ:
dotnet publish -c Release -r osx-x64 -p:PublishSingleFile=True --self-contained True
ตัวอย่างของSelf Contained
, Debug
ลินุกซ์ 64bit ปฏิบัติการ:
dotnet publish -c Debug -r linux-x64 -p:PublishSingleFile=True --self-contained True
การสร้างลินุกซ์เป็นอิสระจากการกระจายและฉันได้พบพวกเขาทำงานบน Ubuntu 18.10, CentOS 7.7 และ Amazon Linux 2
ปฏิบัติการที่บรรจุด้วยตัวเองนั้นรวมถึง Dotnet Runtime และไม่จำเป็นต้องติดตั้งบนเครื่องเป้าหมาย ไฟล์ปฏิบัติการที่เผยแพร่จะถูกบันทึกภายใต้:
<ProjectDir>/bin/<Release or Debug>/netcoreapp3.0/<target-os>/publish/
บน Linux, OSX และ
<ProjectDir>\bin\<Release or Debug>\netcoreapp3.0\<target-os>\publish\
บน Windows
<PublishSingleFile>true</PublishSingleFile>
การใช้ CMD คุณสามารถเรียกใช้คอนโซลโครงการ. net หลักได้หากติดตั้ง. net core SDK ในเครื่องของคุณ:
ในการรันโปรเจ็กต์คอนโซลโดยใช้ windows command-Line เลือกพา ธ เฉพาะจากไดเร็กทอรีของคุณและพิมพ์คำสั่งด้านล่าง
วิ่ง dotnet
ก่อนที่คุณจะรันด้วยพรอมต์คำสั่งตรวจสอบให้แน่ใจว่า "appsettings.json" มีค่าเหมือนกับ "appsettings.Development.json"
ในพร้อมท์คำสั่งไปที่โฟลเดอร์ bin / debug / netcoreapp2.0 จากนั้นเรียกใช้ "dotnet applicationname.dll"