Perşembe, Haziran 23, 2011

WPF ile Çalışmak (Giriş)

evet bunun için kapsamlı bir yazı dizisi ile başlanabilirdi ancak ben şu şekilde giriş yapmayı tercih ediyorum yazıma, WPF ile çalışacaksanız alıştığınız Windows Forms kodlarını ve property'lerini unutmaya başlasanız iyi olur. Örneğin TextBox'larda artık Text property'si yerine Content property'si yer almaktadır. Daha uzun yazılarda daha detaylı olarak kontrollerin kullanımlarına bakıyor olacağız.

İyi Çalışmalar,

Cuma, Mayıs 28, 2010

Windows Live Messenger 2009 WebCam Çalışmama Sorunu

Geçenlerde yeni gelen makinemde windows live messenger'da Show My WebCam'in disable şekilde gri olarak çıkması ve entegre kameramı kullanamıyor olmam deli etti beni, uzun uğraşlar ve aramalar sonucunda bu bug'ın windows live messenger üzerinde Tools=> Audio and Camera Features'dan öncelikle kamerayı disable etmek gerekiyor. Daha sonra konuşma pencerenizi kapatıp tekrar bu seçeneği aktif hale getiriniz. Konuşma penceresini açınca kameranızın çalıştığını göreceksiniz.

İyi Çalışmalar,

Cuma, Ocak 15, 2010

Failed to access IIS metabase hatası alınırsa

Eğer böyle bir hata ile karşılaşırsanız yapmanız gereken tek şey, Command Prompt'a girip
aspnet_reg_iis.exe -ir
yazıp enter'a basmanızdır. Bu işlem ile asp.net'i iis'e register etmiş olursunuz.

İyi Çalışmalar,

Çarşamba, Ocak 06, 2010

ASP.NET Web Servislerinde birden fazla Asenkron metod çağırma

ASP.Net Web servislerini kullanırken metodları asenkron olarak çağırma ihtiyacı hissederiz bazı zamanlarda ancak tek bir web servisi instance'ı kullanıyorsak aşağıdaki gibi bir hata alırız.

"There was an error during asynchronous processing. Unique state object is required for multiple asynchronous simultaneous operations to be outstanding."

Bu hatanın önüne geçmek için asenkron olarak kullanacağımız metodlar için web servisinin yenibir instance'ını oluşturmamız ve bu yeni yaratılan instance'ı kullanmamız yeterlidir.

İyi Çalışmalar,

Pazartesi, Kasım 23, 2009

Visual Studio 2010 Beta 2 İlk Bakış II

Daha önce Visual Studio 2010'un .Net Framework 3.5 kurulmadan çalışmadığını belirtmiştim. Şimdi ise şöyle bir durumla karşılaştım Visual Studio 2010'un üzerine Windows XP Service Pack 3 kurulduğu zaman Visual Studio 2010 açılırken çatlamaktadır. Ya önce Service Pack 3 kurulumunu yapmalısınız veya hiç Windows Update'leri ile uğraşmayıp güncellenmemiş XP'niz ile yola devam etmelisiniz :(

Pazar, Kasım 08, 2009

ASP.Net Uygulamalarında EventLog'a Yazdırma

Windows'un EventViewer'ı çoğu zaman hayat kurtaran makinede oluşan her türlü hatanın kayıt edildiği yeri, zamanı ve hatanın içeriğini gösteren yönetimsel araç. Her sıkı developer uygulamadaki istisnai hataları sunucu üzerinde tutmak ister. Özellikle de ASP.Net uygulamalarında yada Web Servislerinde EventViewer'a kayıt altında tutmak isteriz. Tabi geliştiriciler lokal uygulamalarında çalışırlarken Visual Studio'ları yönetici seviyesinde çalıştığı için hiç bir zaman farkına varmazlar aslında sunucuya uygulamalarını koyduklarında EventLog'a kayıt yazma haklarının olup olmadığı konusunda ki hiçbir zaman bu hakları olmaz. Ta ki sunucunun Registry'sinde ufak bir iki ayar yapmazlar ise, şimdi bu ayarlara gelelim:

Run'a regedit yazılır ve enter'a basılır

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\
sekmesi bulunur. Bu sekmeye yeni bir tane key yaratılır. Bu key'e uygulama içerisinde EventLog'a yazdırırken kullanılması gereken kaynak adı(source) olarak verilen isim verilir.

Daha sonra bu key'e sağ tıklanarak permissions kısmından IUSR,Network Service ve ASP.NET kullanıcılarına okuma yazma hakkı verilir.

Bu sayede EventLog'a yazma işlemi sırasında uygulamamızı çalıştıran servisler admin hakkına sahip olurlar.

İyi Çalışmalar,

Visual Studio 2010 Beta 2 İlk Bakış

Her Visual Studio ailesi ile ilk tanışanlardan biri olarak bu tanışmalar esnasında platformdaki eksiklikleri hemen bir bug dedektör gibi niyeyse çekerim. Visual Studio 2008'in ilk sürümlerinin internet bağlantısı olmadan kurulmaması gibi, şimdi de Visual Studio 2010 Beta 2 ile ilk deneyimimi paylaşayım istedim. Bu sefer kurulum aşamasında bir sıkıntı yaşamadım. Ancak kurulum sonrasında farkettiğim birşey var ki .Net Framework 3.5 otomatik olarak kurulmamakta. Framework 3.5'u ne yapıcaz 4 varken diyebilirsiniz, haklısınız da da. Ama Visual Studio 2010 bizle aynı düşüncede değil eğer Framework 3.5 kurulu olmaz ise maalesef herhangi bir proje dosyası yaratamadığınız gibi herhangi bir X Projesini de açamıyorsunuz. "Can not complete the action" hatası ile karşılaşıyorsunuz. 2 gün sonunda bu hatanın Framework 3.5 kurulmamasından kaynaklandığını tespit edebildim. O yüzden kurulum yapmadan önce Framework 3.5 kurmayı ihmal etmeyiniz.

İyi Çalışmalar,

Salı, Eylül 01, 2009

Yine yoğunluk

Ağustos bitmiş ben yine 2 aydır birşey yazmamışım. Bu sefer mazeretim var en azından Ağustos ayı için ama :) Hem izin öncesi iş yoğunluğu hem de izin sonrası iş yoğunluğundan yazmaya fırsat bulamadım ama en kısa zamanda tekrar yazılarıma devam edeceğim.

Pazartesi, Haziran 29, 2009

Visual Studio 2008 Projelerini Visual Studio 2005 ile açmak

Merhabalar,

Bu seferki yazımda her zaman ihtiyaç duyduğumuz bir şeyi yazacağım. Özellikle de teknolojiyi hızlı takip eden ancak çalışma ortamları bu hıza ayak uyduramayanlar için sanırım faydalı olacak birşey bu. Ben de kendi makinemde Visual Studio 2008 ile çalışıyorum ancak her zaman her gittiğim ortamda Visual Studio 2008 bulamıyorum, çoğu zaman Visual Studio 2005 bulabiliyorum, bu durumda yazdığım uygulamaları bu ortamlarda test etme ihtiyacım doğuyor. Şimdi size Visual Studio 2008 uygulamalarını nasıl Visual Studio 2005 üzerinde açacağınızı anlatacağım.

Öncelikle Solution dosyasını notepad ile açalım:

Microsoft Visual Studio Solution File, Format Version 10.00
#Visual Studio 2008

yazan kısmı bulalım. Bu iki satır yerine ;

Microsoft Visual Studio Solution File, Format Version 9.00
#Visual Studio 2005

yazıp kaydedelim. Şimdi sıra geldi proje dosyamıza onu da notepad ile açalım.



Sol taraftaki gibi 3.5 yazılı olan kısmı 2.0 ile değiştirelim. Sonra

MSBuildToolsPath)\Microsoft.CSharp.targets" /> yazan satırı
MSBuildBinPath)\Microsoft.CSharp.targets" /> yazacak şekilde güncelleyip kaydedelim. Artık Visual Studio 2008 üzerinde yazdığımız uygulamamız Visual Studio 2005 üzerinden açılacak şekilde uyarlanmış oldu.

İyi Çalışmalar,

Pazartesi, Haziran 22, 2009

Windows Virtual PC Kurulumu

Teknolojiyi ilk çıktığı anda kullanmaya çalışan insanlardan birisiyim bu anlamda Windows 7 ilk çıktığı anda Windows 7'ye geçiş yaptım üzerine de RC1 çıkınca hemen RC1 geçişimi tamamladım. Normal şartlarda Visual Studio 2008 kullanıyorum ama şirkette hala bazı mobil uygulamalar Visual Studio 2003 kullanıyor çeşitli sebeplerden dolayı. Bazı durumlarda bu projelere destek vermem gerekiyor. Ancak bilindiği gibi Windows Vista'dan sonra Visual Studio 2003 desteği kesilmişti. Bizde doğal olarak Microsoft Virtual PC kullanarak sanal olarak Windows XP kurup üzerine Visual Studio 2003 kurararak bu ihtiyaçlarımızı karşılıyorduk. Ancak bazı durumlarda USB'yi görmeme ve çeşitli donanımları tanımama sorunları ile karşılaşıyorduk bir de tabi performans sorunları da cabasıydı :(

Sanırım Microsoft gelen talepleri dikkate almış olacak ki Windows Virtual PC'yi çıkardı. Microsoft Virtual PC'ye göre en büyük farkı direk donanım üzerinde hem ana işletim sisteminiz hem de sanal olarak kurduğunuz işletim sistemi için ayrı oturumlar yaratmasıdır. Bu da tabi performans kaybını aza indirmektedir.

Gelelim nasıl kurulum yapacağımıza öncelikli olarak Hardware Virtualization'ı destekleyen bir işlemciye sahip olmanız gerekmektedir. İşlemciniz bunu destekliyorsa ki bunun için http://www.grc.com/securable.htm adresinden securable programını indirerek öğrenebilirsiniz.

Şimdi ikinci aşamadasınız zor olan kısım da burası bios'unuzdan Hardware Virtualization'ı enable yapmanız gerekmektedir. Bios'unuz eski ise bu seçeneği göremeyebilirsiniz o zaman bios'unuzu güncellemeniz gerekir. Hardware Virtualization'ı enable ettiniz ancak yine de Windows Virtual PC kuramıyorsanız öcellikle HP kullanıcıları için Data Execution Prevent özelliğini bios'tan kontrol ederek bu özelliği kapatmanızı söylemem gerekir. Hardware Virtualization açık olsa bile ancak bu özelliği kapatarak aktif hale geçiyor.

Sanal işletim sisteminde iyi çalışmalar :)

Salı, Haziran 16, 2009

Team Explorer'dan WorkItem Eklemede Hata Alınması

Merhabalar,

Team System kullanan arkadaşlarımız eğer Team Explorer üzerinden WorkItem yada bug eklemek isterken hata alıyorlarsa ve hata içeriği de ;

Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemTypeDeniedOrNotExistException hatası ile Team Explorer’da herhangi bir kayıt açamıyorsanız bunun sebebi Team Explorer’ın kullandığı dll’lerin register edilememesidir. Bu da genelde Visual Studio kurulumundan sonra Service Pack’lerin kurulması ondan sonra ise Team Explorer’ın kurulmasından kaynaklanmaktadır.

Çözüm yolu : Visual Studio Service Pack’i kaldırıp tekrar kurmaktır.

Bu sorunla karşılaşmamak için sıfır makine kurulumlarında ;

1 – Visual Studio kurulumu

2- Team Explorer kurulumu

3- Visual Studio Service Pack kurulumu yapılması gerekmektedir.

Salı, Mart 24, 2009

Windows 7 İlk İzlenimler

Açıkçası 7'yi kurmadan önce tereddütlerim vardı ancak kullandıkça Visual Studio ürün ailesinden sonra Microsoft'un ilk defa bir beta ürünün bu kadar stabil çalıştığını gördüm. Yaklaşık 1 aya yakın bir süredir Windows 7'yi kullanıyorum. Bir ara Internet Explorer göçtü ancak onda da In Private Browsing seçeneğini kullanarak Explorer kullanmaya devam edebiliyorsunuz. Şu ana kadar ölümcül bir hata ve eksikle karşılaşmadığım gibi gayet hızlı ve stabil bir ürün olması sebebiyle bu sefer olmuş cidden diyorum :)

Çarşamba, Şubat 11, 2009

Office SharePoint Server Publishing Infrastructure Aktivasyon Hatası

Geçenlerde çalıştığım SharePoint sitesinde yayımlamayı açmak isterken
Office SharePoint Server Publishing Infrastructure'ı aktive etmem gerekti ancak aktive etmeye kalktıpımda 'Access Denied' hatası ile karşılaştım.
Biraz araştırma sayesinde bunun kullanmakta olduğum SharePoint Site'ı için tanımlamış olduğum Application Pool'un orjinal Pool'dan farklı olmasının yol açtığını keşfettim. Bu hatayı düzeltmenin yolu da

1. IIS Managent Console'u açın.
2. WSS Web uygulamanızın yer aldığı Web Site'a konumlanın.
3. Sağ tıklatıp özelliklerden ‘Home Directory’ tab'ına geçin.
4. AppPool 'u Central Administration'ın kullandığı Pool ile aynı yapın.
5. Command Prompt'tan IISRESET yapın veya IIS Yönetim konsolundan restart edin IIS'i.
6. Sitenizdeki 'Publishing Infrastructure' özelliğini aktive edin.
7. Web sitenizin AppPool'unu tekrar eski kullandığınız AppPool'a çevirin.
8. Command Prompt'tan IISRESET yapın veya IIS Yönetim konsolundan restart edin IIS'i.

bu adımları takip ederek çalıştığınız WebSite'ta yayımlama özelliklerini başarıyla aktifleştirmiş olursunuz.

Visual Studio'da unsafe kodları derlerken hata almak

Evet Visual Studio'da bazen unsafe kod yazmaya ihtiyacımız olur, ancak bazen bu unsafe kodları yazdıktan sonra uygulamamızı derlemek istediğimizde "unsafe code can only appear if compiling with /unsafe " hatası alırız. Bu hata ile karşılaştığımızda yapmamız gereken Visual Studio'da proje özelliklerinde build tab'ı altında 'Allow unsafe code' checkbox'ını işaretleyip uygulamamızı hatasız bir şekilde derleyebiliriz.

Pazartesi, Ocak 26, 2009

Portal Geliştirirken Bir Daha Düşünün

Portal tabanlı uygulama geliştireceklere önerim, eğer çok büyük uygulamalar ve çok fazla entegrasyon içermeyecekse ve bütçeniz de kısıtlıysa SharePoint yerine DotNetNuke kullanmanızı öneririm. Sakın aspnet wizardlarıyla starter kit üzerinden web site oluşturmayın, her şeyi html koduna yazdığı için kodunuz bir yerden sonra hem çöplüğe dönüyor hem de altyapısı sizin kontrolünüzde olmadığı için bir yerden sonra wizard kullanarak kazandığınız zamanın daha fazlasını kişiselleştirmek için harcamak zorunda kalıyorsunuz.

Zaten OOP mantığında yetişen uygulama geliştiriciler için iş mantığının arayüz kodlarında bulunması da yazılım geliştirme açısından katliam sayılabilecek bir davranıştır.

SharePoint Erişim İstisnası

Web Uygulaması Geliştirirken yada SharePoint'te veritabanı ile ilgili işlem yapıyorsanız yada başka bir dll çağırıyorsanız buna benzer bir istisna aldığınızda

System.Security.SecurityException: Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) at System.Security.PermissionSet.Demand() at System.Data.Common.DbConnectionOptions.DemandPermission() at System.Data.SqlClient.SqlConnection.PermissionDemand() at System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) at WebUserControls_TestWUControl.GetTableByQuery(String strQuery, String strConnection) The action that failed was: Demand The type of the first permission that failed was: System.Data.SqlClient.SqlClientPermission The Zone of the assembly that failed was: MyComputer
-------------------------------------------------------------------------------------------------
web config dosyasında
configuration=>system.web sekmesi altında trust level="WSS_Minimal" originUrl=""
ifadesi varsa onun yerine trust level="Full" originUrl=""

bu ifadeyi yazarak uygulamanıza yerel kaynaklara erişim için tam yetki verebilirsiniz. Bu sayede özellikle SharePoint'te kullandığınız her dll'i GAC'a atmaktan kurtulmuş olursunuz.

İyi Çalışmalar,

Visual Studio Solution Dosyalarını Admin Seviyesinde Açmak

Vista kullananlar da benim gibi heralde Visual Studio'da uygulama geliştirirken bazı işlemleri yaparken hata aldıkları zaman her seferinde Visual Studio'yu sağ tıklayıp Run As Administrator diyerek açmaktan bıkmışlardır. Bunun için bir kısa yol önereyim

\Common Files\microsoft shared\MSEnv\VSLauncher.exe dosyasına gidip sağ tıklayıp Properties'i seçtikten sonra Compatibility altındaki Run As Administrator seçeneği seçin ve bir daha sağ tıklayarak uygulama açmak zorunda kalmayın.

İyi Çalışmalar,

Cuma, Temmuz 18, 2008

Windows CE

Visual Studio 2003'te mobil uygulama geliştirirken debug işlemi yaparken"One or more files from the Emulator for Windows CE installation is missing" hatası ile karşılaşıp emülatörünüz çalışmıyorsa bunun çözümü için boot.ini dosyanızı açın ve işletim sistemi tanımınızdan sonra "/execute = /NoExecute=AlwaysOff " bu kısmı ekleyip makineyi restart edin. Uygulamanızı bir sonraki çalıştırmanızda emülatörünüzün çalıştığını göreceksiniz.

İyi Çalışmalar,

Çarşamba, Temmuz 02, 2008

Visual Studio 2008 Kurulumunun internet bağlantısı ihtiyacı

Merhabalar tekrar,

Bunu yazmadan geçmek istemedim. Visual Studio 2008 kurmak için internet bağlantısı gerekiyor. Evet şaşırtıcı ama gerçek, .Net Framework 3.5 sürümü kendisini internetten indirdiği için internet bağlantısına sahip değilseniz maalesef .Net Framework 3.5'u dolayısı ile de Visual Studio 2008'i kuramıyorsunuz. İşin ilginç tarafı da kurulum hata verdiğinde internat bağlantınız olmadığı için kuramadığını söylemiyor, sadece bir hata oluştu, kurulum tamamlanamadı gibi çok genel bir hata ile karşılaşıyorsunuz. Her zaman hata mesajlarını çok detaylı veren Microsoft bunu nasıl atlamış şaşılacak gibi değil. Herhalde herkeste internet bağlantısı olacağını düşünerek kurulumu hazırlamışlar, ama burası Türkiye herkeste internet bağlantısı mevcut olmayabiliyor, hele benim gibi yeni eve çıkmış insanlarda :)

SharePoint'te NewDwp.aspx sayfasının bulunamaması

Bundan sonra MOSS tarafına da kayacağımı belirtmiştim. Şimdi ilk yazımı paylaşayım bununla ilgili. MOSS için Visual Studio ortamında bir WebPart yazmıştım. Her şeyi düzgün olarak yazıp Virtual makinemde de test etmiştim hiç bir sorun yoktu, iş canlı sunucuya bu webpart'ı atmaya gelmişti. Ancak yeni webpart oluşturmak için gerekli olan NewDwp.aspx sayfası görüntülenmiyordu. Ne yaptıysam bir türlü görüntülenmedi ancak daha sonra uzun araştırmalarım sonucunda AJAX eklentilerinin yüklü olmaması sebebi ile bu tür bir hata ile karşılaşılabildiğini gördüm. Ve ASP.NET 2.0 Ajax Extension'ı kurduktan sonra sorunum çözüldü. Şimdi size bu extension'ı yükleyebileceğiniz adresi veriyorum :
http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&displaylang=en

İyi Çalışmalar,