2017-03-04 21 views
12

.NET Core 1.1'de, netcoreapp1.1 \ publish klasörünün altında, kendileri üzerinde döngü gibi görünen bir bin klasörü ile sonuçlanan ve sonunda da bir yola neden olan bir sorunla karşılaşıldı. Windows'da görünecek uzun mesaj. Windows Gezgini'nde bu klasörü silmeye çalistiginda Kaynak Çok Uzun mesajin görünmesine neden olur. Tek çözüm, RoboCopy kullanmaktı. Burada Çılgın Derin Yol Uzunluğu .Net Çekirdeği 1.1

oluşturulan yollarının birinin bir örnektir:

ayıklama \ bin \ netcoreapp1.1 \ yayınlama \ bin \ ayıklama \ netcoreapp1.1 \ bin \ ayıklama \ netcoreapp1.1 \ yayınlama \ yayınlamak \ Debug \ bin \ netcoreapp1.1 \ yayımlamak \ bin \ Debug \ netcoreapp1.1 \ bin \ Debug \ netcoreapp1.1 \ yayımlamak \ bin \ Debug \ netcoreapp1.1 \ bin \ Debug \ netcoreapp1.1 \ yayımlamak yayınlayamaz \ \ yayımlamak \ Debug \ bin \ netcoreapp1.1 \ yayımlamak \ bin \ Debug \ netcoreapp1.1 \ bin \ Debug \ netcoreapp1.1 \ yayımlamak \ bin \ Debug \ netcoreapp1.1 \ bin \ Debug \ netcoreapp1.1 \ yayımlamak yayınlayamaz \ \ yayımlamak \ netcoreapp1.1 \ \ bin \ bildiriyi yayınlamayı \ netcoreapp1.1 \ \ bin \ bildiriyi yayınlamayı \ netcoreapp1.1 \ yayımlamak bin \ Debug \ netcoreapp1.1 \ \ bin \ bildiriyi yayınlamayı \ \ Debug \ bin \ netcoreapp1.1 \ yayımlamak \ netcoreapp1.1 \ yayımlamak \ bin \ release \ netcoreapp1.1 \ \ bin \ bildiriyi yayınlamayı \

\ Kontrolörler bu ben yanlış kurulum var bir şey neden bir sorun var mı?

Klasörler: 6866 Dosyalar: 7391 Aşağıdaki komutu kullanarak yayın am

: Her yayınlamak görünüyor

dotnet publish -c debug 

klasör yapısını yapar

son temizleme aşağıdaki istatistikleri döndü daha derin ve bu bu klasör yapısını oluşturma projemde CSHTML dosyaları ile ilgili gibi görünüyor:

\publish\bin\debug\netcoreapp1.1\publish\Controllers\Account\Views 

Sonra ikinci yapı bu yapı: vb

\publish\bin\debug\netcoreapp1.1\publish\bin\debug\netcoreapp1.1\publish\Controllers\Account\Views 

Ve ...

Ben 1.0.0-preview2-1-003177 SDK kullanıyorum

+0

Eğer bunu doğru şekilde okuyorsam, bu iç içe geçmiş klasör yapısı aslında diskte var mı? –

+0

Ayrıca, bu programın MAX_PATH tanımına (260) birçok şekilde sınırlandırıldığından, Windows Gezgini ile bu klasörü silebileceğinizi sanmıyorum. Klasörü sizin için silen bir program yazabilirsiniz. Düzenleme: Robocopy'nin de çalıştığını varsayalım. Asıl sorun, MAX_PATH –

+0

'dan daha büyük olan yoldu. Bunu nasıl yayınladınız? – Pawel

cevap

6

Ben O preview3 veya preview4 birinde giderilmiştir Ben .NET Çekirdek SDK preview2 ile aynı sorun vardı hatırlıyorum Ve.. .NET Core SDK 1.0'da kesinlikle belirtilmiştir. @Marc tarafından belirtildiği gibi, sadece güncelleyin SDK https://www.microsoft.com/net/download/core#/sdk.

Yeni SDK ile projeniz csproj ve MSBuild'e dönüştürülecektir, bu nedenle hiçbir project.json artık kullanılmayacaktır.

DÜZENLEME: Proje otomatik komut satırı aracını kullanın eğer dotnet-migrate komutu uygulamalısınız, VS 2017 yılında dönüştürülecektir.

2

için sdk güncellemeyi deneyin yayın sürümü şimdi mevcut. Sürüm 1.0 ve sürüm 1.1 (bu gönderinin yapıldığı tarihte), buradan tek bir paketin içine yüklenir. https://www.microsoft.com/net/download/core

@Andrii Litvinov tarafından belirtildiği üzere VS2017 için geçiş gerçekleşecektir. Yardıma ihtiyacınız varsa: Microsoft, msbuild için project.json için ücretsiz geçiş yardımını sunuyor. (Mart 15, bu güncellemenin zaman olduğu gibi 2017]

teslim alma: http://landinghub.visualstudio.com/migrate-dotnetcore

+0

Dize bulmak için en iyi yer nerede en son SDK, yani "" 1.0.0-preview2-1-003177 "" parçası kullanması gerektiğini göstermek için global.json dosyasına eklemek gerekir? –

+0

@MichaelEdwards, projenin bir parçası olarak çekilmiyor, ortamın bir parçası. Dev ortamınızı indirmeniz ve yükseltmeniz gerekiyor. – Marc

+0

Güncelleştirme EXE'i çalıştırdım ancak şimdi Global.json için kullanmam gereken değer dize hakkında hiçbir fikrim yok. Bu güncelleme otomatik olarak yapılmalı mı? –

İlgili konular