2011-09-19 18 views
9

Son zamanlarda Windows 8 Dev önizlemesini yükledim, ancak birkaç sorunla karşılaştım. Yeni C# API'ye baktığımda, bazı özelliklerin eksik olduğunu söyleyebilirim. Örneğin, bir dosyayı okumak için bir bekleme bulamıyorum - klasik StreamReader artık bir dosya adı dizesi değil, bir örnek Stream örneğidir.Windows Geliştirici Önizleme C# sürümü - özellikleri eksik?

Neyi eksik? Nesne Tarayıcısını tersine çevirdim, hiçbir şey bulmadım.

Güncelleme: Bu, Taşınabilir Sınıf Kitaplığı ile geleneksel derleme arasındaki farktır: http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx. Bu nedenle, bizim için henüz taşınabilir olmayan Windows 8 API var mı?

+0

.NET'in WinRT sürümünü mi kullanıyorsunuz? –

+1

@Daniel Sanırım, Metro şablonundan yeni bir proje oluşturdum. Eminim 'WinMD' kullanmıyorum, eğer soru buysa, çıkış 'Windows Metro style Application 'olarak ayarlanmış. –

cevap

5

Olası WinRT bunu desteklemiyor. Tam .NET 4.5 olmalıdır.

+0

Kesinlikle umuyorum ki, Microsoft'un bize yeni bir oyuncakla oynamamızı (ve aslında bir şeyler geliştirmemizi), dosya okuma gibi “marjinal” özellikler vermeden beklemesini beklemiyordum. –

+0

System.IO'da başka sınıflar var. –

+4

@Mikulas WinRT sınıflarını, dosyalar ile çalışmak ve özellikle akış olarak açmak için 'Windows.Storage' ad alanından kullanmanız gerekir. Daha sonra akışları 'AsStream()' uzantı yöntemini kullanarak 'System.IO.Stream' olarak da yapabilirsiniz. –

5

Geliştirici önizlemesi, tam çerçeveyi değil, yalnızca Windows Metro Uygulamalarını geliştirmek için olan kitaplıkları içerir. Bu (ne yazık ki), System.Data ve diğer birkaç iyi bilinen ad alanını da içermez.

using(FileStream fs = new FileStream(filename)) 
using (StreamReader reader = new StreamReader(fs)) 
{ 
    string text = reader.ReadToEnd(); 
} 
+3

Çünkü Dev Preview sadece VS Express'e sahip. Ancak, tam VS'yi (elbette ön izlemeyi de) buradan yükleyebilirsiniz: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27543 - Metro dışı proje türlerini etkinleştirir. –

2

Eğer WinRT unse edecek metro şablonu kullanarak aslında sadece bir dere açabilir (diğer cevaplar bakınız) API'leri. Güvenlik uygulamaları ve metro uygulamalarının asenkron doğası nedeniyle, klasik bir okuma/yazma dosyasının bir metro uygulamasında kullanılabileceğine inanmıyorum.

+1

Metro'da da çalışmıyor. –

3

yeni Window.Storage kullanmak okuma/bir metro app dosyaları yazmak için: Kenara

+0

Biri, diğerlerinin hala bununla uğraşabileceğini keşfetti. Teşekkürler! Diğer eksik işlevsellik isteyen de bulunabilir. –

İlgili konular