Azure

2015-08-11 37 views
5

için bir sınıf kitaplığına başvuran ASP.NET 5 yayımlanamıyor Başlangıçta Azure'da sorunsuz bir şekilde yayımlanabilen, çalışan bir ASP.NET 5 projesi vardı. Daha sonra DAL'i ayrı bir sınıf projesine ayırmaya karar verdim, ancak birçok bağımlılık problemine rastladım. Daha sonra boş bir sınıf kütüphanesiyle boş bir proje oluşturmaya karar verdim ve sorunun ne olduğunu anlayabiliyor muyum diye de yayınlayamadım.Azure

Adımlar:

  1. yeni ASP.NET 5 Web API Önizleme Şablon projesi oluşturma (ayrıca çözüm oluşturur).
  2. Çözüm için sınıf kitaplığı ekleyin.
  3. Sınıf kütüphanesi hedef çerçevesini 4.6.5'den .NET 4.5.1'e değiştirin.
  4. ASP.NET 5 projesinden başvuru sınıfı kitaplığı.
  5. Yayınlamayı deneyin.

Bu proje yapısı şöyledir:

enter image description here

çıkan ASP.NET 5 project.json:

"frameworks": { 
    "dnx451": { 
     "dependencies": { 
      "ClassLibrary1": "1.0.0-*" 
     } 
    }, 
    "dnxcore50": { } 
}, 

yüzden başarıyla başvuran ve hazırlamayı ve barındırma öz üzerine dağıtmak ancak Azure'a yayımlamaya çalışırsam, aşağıdaki hata iletisini alırım:

Benim cevap oldukça doğru olduğunu düşünmüyorum uğraşırken bazı Sonra :
The "Dnu" task failed unexpectedly. 
System.Exception: 
Microsoft .NET Development Utility CLR-x86-1.0.0-beta6-12256 
Copying to output path C:\Users\MyUserDir\AppData\Local\Temp\PublishTemp 
Time elapsed 00:00:04.1309210 

    at Microsoft.DNX.Tasks.Dnu.Execute() 
    at  Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
    at Microsoft.Build.BackEnd.TaskBuilder. <ExecuteInstantiatedTask>d__26.MoveNext() 

Visual Studio 2015 ve ASP.NET 5 Beta 7.

DÜZENLEME kullanıyorum. Şimdi, yeni sınıf kütüphanesi türünün kullanılamadığı durumlar olduğunu anlıyorum. limana uygulanamayan mevcut eski sınıf kütüphaneleri. Bunu yapmanın bir yolu var mı?

dnu publish yapmayı denedim ve çok iyi yayınlıyor. Daha sonra çıkışı sunucuya FTP olarak gönderirim ancak bana Runtime Error verir. Visual Studio'yu kullanarak uzaktan hata ayıklamayı denedim. Siteye eriştiğimde istisnalar görebiliyorum ancak sorunun tam olarak ne olduğunu görmenin bir yolu yok. atılan ilk istisnalar biri:

Exception thrown: 'System.InvalidOperationException' in AspNet.Loader.dll

Ben günlüklerinde bakıldığında, Ben yanlış bir sınıf kitaplığı projesi kullanıyordum çıkıyor bana Couldn't determine an appropriate version of runtime to run.

+0

ClassLibrary1 de .NET Core'u hedefliyor mu? Örneğin. ClassLibrary1 ayrıca bir "project.json" var mı? – natemcmaster

+0

Dnxcore hedeflemesini silerseniz ne olur? – mbudnik

+0

@natemcmaster Not, yalnızca .NET Framework 4.5.1'i hedefler. Gönderiyi ClassLibrary1 yapısı ile güncelledim, '' '' '' '' '' '' '' '' '' '' 'proj.json''' '' i yoktur. @mbudnik Aynı hata oluşur. –

cevap

1

verdi. Görünüşe göre eski Sınıf Kitaplığı'nı kullanıyordum ve (Package) ile de etiketlenen yeni PREVIEW versiyonunu kullanmıyordum. buna Nuget paketleri oluşturmak için kullanılan söylediği gibi

Class Library Project

açıklama biraz beni attı ama şimdi her şey gayet iyi çalışıyor ve ASP.NET 5 proje Sınıf Kütüphanesi başarılı atfen Azure için dağıtılabilir .

+0

Aynı sorunun daha geniş bir sınıf kütüphanesi ile kendini görebilmesini sağladım (2 DLL), 'Yeni' Sınıf Kitaplığı'nın Referans Yöneticisi 'Gözat' tıkladığımda dosya iletişim kutusunu açmıyor . Bu düğmenin senin için çalışıp çalışmadığını görebiliyor musun? –

+0

@ Gabriël Dosya iletişim kutusu benim için bu Sınıf Kitaplığı için iyi açılıyor. –