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,