2016-08-08 31 views
6

VS Update 3 (14.0.25425.01) kullanıyorum. İşte Yaptığım budur:.NET Core uygulamasından .NET 4.6.2 sınıf kitaplığı başvurulan

  1. ASP.Net Çekirdek Web Uygulaması (Net Çekirdek)
  2. Sınıf Kitaplığı .Net 4.6.2 oluşturma çerçeveler, netcoreapp1.0, projede ithalatında net462 ekle oluşturun. json
  3. Sağ, ASP.Net Çekirdek uygulamayı tıklayarak tıklayın referans seçeneğini Projeleri eklersen ben geri yükleme konusunda hiç hata almak ve referans ASP eklenir adımda 2.

oluşturulan Sınıf kitaplığı seçin. Net C cevher uygulaması. Ancak, erişemiyorum. İçe aktarma bildirimi kullanarak ekleyemiyorum veya nesnelere erişemiyorum. Birçok şeyden geçtim ama hiçbir işe yaramadı ve mesajlar çok parçalı.

enter image description here

İşte ASP.Net Çekirdek Uygulaması'nda program.cs olduğunu. enter image description here

enter image description here

Güncelleme Nate önerdi olanı yaptı. Bunu zaten denedim sanıyordum ... ama şimdi 4.6.2 kütüphanelerime erişebileceğimden eminim. Ancak, şimdi derleme hataları alıyorum.

enter image description here

cevap

4

Bu Güncelleme 3 Visual Studio 2015 yılında çalışır ancak project.json çok doğru değil.

yerine imports bölüme net462 ekleme, bu frameworks bölümünde olmalıdır: Microsoft.NETCore.App bağımlılık da netcoreapp1.0 bölüme taşınması gerektiğinde

"frameworks": { 
    "net461": { }, 
    "netcoreapp1.0": { 
    "dependencies": { 
     "Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.0.0" 
     } 
    } 
    } 
} 

Bildirim söyledi. Çünkü bu bağımlılık sadece bir .NET Core uygulaması olarak derlenirken gereklidir. bu şekilde yapılandırarak

"dependencies": { 
    (...) 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "MyLibrary": { 
    "target": "project" 
    } 
} 

, benim .NET 4.6 içinde başvurmak ve kullanım sınıfları başardı: NET 4.6.2 kütüphaneye

referans basitçe sonra dependencies bölümün parçasıdır. Herhangi bir sorun olmadan 2 kütüphane. Başvuru için


, burada kullanılan tüm çalışma project.json var:

{ 
    "dependencies": { 
    "Microsoft.AspNetCore.Mvc": "1.0.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Configuration.CommandLine": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "MyLibrary": { 
     "target": "project" 
    } 
    }, 
    "frameworks": { 
    "net461": { }, 
    "netcoreapp1.0": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.0.0" 
     } 
     } 
    } 
    }, 
    "version": "1.0.0-*" 
} 
+0

Bu aslında "netcoreapp1.0" veya sadece "net461" için derleniyor mu? – svick

+0

@svick Hem Visual Studio hem de “dotnet build” ile, hem “net461” hem de “netcoreapp1.0” için ikili dosyalar üretilir. –

+0

Nasıl? Bir 'netcoreapp1.0' uygulaması' net461' kütüphanesine bağlı olmamalıdır, bu sadece uyumlu değildir. – svick

1

@NateBarbettini cevap benim orijinal soruyu gerçekleştirilir. ASP.Net Çekirdek Web Uygulaması sürüm 1'i .Net 4.6.1 projem ile çalıştıramadım çünkü .Net 4.6.1 projem için .NetCore.App v1 derlemesi bulamadı çünkü. Ben de bir project.json .net 4.6.1 projemize bir project.json ekledim. ( )Net Core Web Uygulaması .NetCore.App altında bir bağımlılık ekleyerek project.json değiştirir. Bu şekilde her iki versiyonu da, 4.6.1 ve .NetCore v1'i alacak.

... 
"frameworks": { 
"net461": { 
    "dependencies": { 
    "ClassLibrary1": { 
     "target": "project" 
    } 
    } 
}, 
"netcoreapp1.0": { 
    "imports": [ 
    "dotnet5.6", 
    "portable-net45+win8", 
    "net461" 
    ], 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0", 
     "type": "platform" 
    }, 
    "ClassLibrary1": { 
     "target": "project" 
    } 
    } 
} 
} 

Şimdiye kadar iyi, ben .Net 4.6.1 gelişebilir ve .NetCore.App v1 altında çalışan çalışacaktır. Ancak, .Net 4.6.1 projelerinde diğer bağımlılıklara sahip olduğum zaman sorunların olacağını düşünüyorum.

+0

çalıştırıyor Diğer bağımlılıklar .NET 4.6.1 projenizde sorunlara neden olur? –