2016-04-09 29 views
7

Tôi đã tạo ứng dụng bảng điều khiển của mình bằng cách sử dụng lệnh dnu build trên máy Mac của mình. Đầu ra là MyApp.dll.Cách chạy tệp .Net Core dll?

Vì nó không phải là MyApp.exe, làm cách nào tôi có thể thực thi trên cửa sổ hoặc thậm chí trên máy Mac?

Mã này là:

using System; 

class Program 
{ 
    public static void Main() 
    { 
     Console.WriteLine("Hello from Mac");   
    } 
} 
+0

Không thư viện không thể thực hiện được vì chúng không có điểm vào trong chúng? – SolaGratia

+0

@BjarneStroustrup Đây là một ứng dụng giao diện điều khiển. Tôi đặt mã vì mục đích rõ ràng. – mehrandvd

+2

http://stackoverflow.com/a/30377175/17034 –

Trả lời

7

Thêm phần này vào tập tin của bạn project.json:

"compilationOptions": { 
     "emitEntryPoint": true 
}, 

Nó sẽ tạo ra MyApp.exe trên Windows (trong bin/Debug) hoặc các tập tin thực thi trên các nền tảng khác.

Edit: 30/01/2017

Nó là không đủ nữa. Bây giờ bạn có khả năng giữa triển khai khung phụ thuộc và triển khai khép kín như được mô tả here.

hình thức viết tắt:

triển khai Khung phụ thuộc vào (.net lõi có mặt trên hệ thống đích)

  • Chạy dll với các tiện ích dòng lệnh DotNet dotnet MyApp.dll

Triển khai khép kín (tất cả các thành phần bao gồm thời gian chạy lõi .net được bao gồm trong ứng dụng)

  • Di "type": "platform" từ project.json
  • Thêm runtimes phần để project.json
  • Xây dựng với hệ điều hành mục tiêu dotnet build -r win7-x64
  • Run tạo MyApp.exe

tập tin project.json:

{ 
     "version": "1.0.0-*", 
     "buildOptions": { 
     "emitEntryPoint": true 
     }, 
     "frameworks": { 
     "netcoreapp1.0": { 
      "dependencies": { 
       "Microsoft.NETCore.App": { 
        "version": "1.0.1" 
       } 
      } 
     } 
     }, 
     "imports": "dnxcore50", 
     "runtimes": { "win7-x64": {} } 
    } 
+0

Điều này dường như không thực hiện các mẹo nữa: ( –

+0

@DouglasGaskell Cảm ơn. Tôi đã chỉnh sửa câu trả lời – Fabian

+3

Một tùy chọn khác là chạy dll bằng dotnet.exe: 'dotnet MyApplication.dll [đối số ứng dụng]'. –

Các vấn đề liên quan