If you're working with lot of projects, or you want to release your DLL to specific location you may need to add some extra actions to to your build.
For example. You have project that uses a DLL of another project of another solution. Sometimes you build your DLL in debug mode, sometimes you build your DLL in release mode. When you build your class library output directory depends on the build mode. Question is: Which DLL will be referenced by your project? To prevent this confusion you can add an copy operation to your post-build events. Then reference the copied DLL.
Here is the sample macro to do this:
cd $(OutDir)
copy $(TargetFileName) D:\Sources\DLLReferences\MyProjectOutpu
Just go to your project properties. Switch "Build Events" tab. Add this sample macro to Post-build event command line. When you build your it will copy result file to specified location.
Figure 1: Build events window of your project.
Figure 2: A Build event Command line window
You can find a list of macros and their descriptions here:
$(ConfigurationName)
The name of the current project configuration, for example, "Debug|Any CPU".
$(OutDir)
Path to the output file directory, relative to the project directory. This resolves to the value for the Output Directory property. It includes the trailing backslash '\'.
$(DevEnvDir)
The installation directory of Visual Studio 2005 (defined with drive and path); includes the trailing backslash '\'.
$(PlatformName)
The name of the currently targeted platform. For example, "AnyCPU".
$(ProjectDir)
The directory of the project (defined with drive and path); includes the trailing backslash '\'.
$(ProjectPath)
The absolute path name of the project (defined with drive, path, base name, and file extension).
$(ProjectName)
The base name of the project.
$(ProjectFileName)
The file name of the project (defined with base name and file extension).
$(ProjectExt)
The file extension of the project. It includes the '.' before the file extension.
$(SolutionDir)
The directory of the solution (defined with drive and path); includes the trailing backslash '\'.
$(SolutionPath)
The absolute path name of the solution (defined with drive, path, base name, and file extension).
$(SolutionName)
The base name of the solution.
$(SolutionFileName)
The file name of the solution (defined with base name and file extension).
$(SolutionExt)
The file extension of the solution. It includes the '.' before the file extension.
$(TargetDir)
The directory of the primary output file for the build (defined with drive and path). It includes the trailing backslash '\'.
$(TargetPath)
The absolute path name of the primary output file for the build (defined with drive, path, base name, and file extension).
$(TargetName)
The base name of the primary output file for the build.
$(TargetFileName)
The file name of the primary output file for the build (defined as base name and file extension).
$(TargetExt)
The file extension of the primary output file for the build. It includes the '.' before the file extension.
Reference: Pre-build Event/Post-build Event Command Line Dialog Box
Bu yazıyı ilk değerlendiren siz olun
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
While we are coding we used to delete blank lines with 'Shift + Del'. Shift + Del shortcut is same as 'Ctrl + X'. And if you copy something to clipboard before cutting the blank lines, it will be replaced by the blank line.
You can change this behaviour with VS 2008 settings. Tools > Option > Text Editor > All Languages (or just for specific language) > Uncheck 'Apply Cut or Copy commands to blank lines when there is no selection'
Happy coding...
Bu yazıyı ilk değerlendiren siz olun
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Bir solution dosyası içinde birden fazla web projeniz var ise (hatta bunun sayısı çoksa) ve eğer ASP.NET Developmen server kullanıyorsanız sizi rahatsız edebilecek bir durum ortaya çıkar.
Her proje için çalışan geliştirme sunucusu hafızanızı gereksiz yere işgal edecektir. Oysa siz sadece tek bir web projesini o sırada görmeyi istemektesinizdir.
Bu durum düzeltmek için her bir web projesi için "Always Start When Debugging" varsayılan ayarı değiştirmeniz iyi bir başlangıç olur.
Sonrasında solution dosyanızın özelliklerinden start up project özelliğini current selection yapın. Böylece solution explorerda hangi web projenizde iseniz debug etmek istediğinizde sadece o projeye ait geliştirme sunucusu çalışacaktır.
Tabi çözümler bazen yan etkiler doğurabilirler. Current selection debug edilsin dediğiniz için class library gibi bir projede F5 yaparsanız hata mesajı alırsınız.
Bunu aşmak için yine solution özelliklerinden multiple startup project seçebilir ve F5 tuşuna basıldığında çalışmasını istediğiniz proje için action belirleyebilirsiniz. Bu işlemin kısayolu solution explorerdan ilgili projeye ters tıklayarak "Set as Startup project"demektir.
İyi çalışmalar.
Bu yazıyı ilk değerlendiren siz olun
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Blog yapan yazılımcının dostu araçlardan olan CSAH (Copy Source As Html) bir Visual Studio 2008 eklentisi...
Eklenti yazdığınız kodlar için html ve stilleri oluşturuyor. Böylece web sitenizde ekstra çaba sarfetmeden kaynak kodunuzu internette IDE'nizde göründüğü gibi sunabiliyorsunuz.
Eklentinin 3.0 versiyonu yayınlanmış. 2.0 da yapamadığımız HTML bölümde yer alan kodları alamıyorduk... Bu özellik yeni versiyonda eklenmiş... Kurulum bilgileri, kullanım ve eklentiyi indirmek için aşağıdaki bağlantıyı takip edebilirsiniz...
http://www.jtleigh.com/people/colin/software/CopySourceAsHtml/
Bu yazıyı ilk değerlendiren siz olun
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Son günlerde Visual Studio 2008 ile çalışırken can sıkıcı bir hata mesajı almaya başlamıştım...
Hata mesajı "Error connecting to undo manager of source file 'x.aspx.designer.cs' derken bu mesajı debug etmek istediğimde veriyor olması çok anlamsız geliyordu... Anlamsız geldiği için anlamsız bir çözüm geliştirdim... İlgili dosya bi şekilde bozuluyor varsayımı ile bu dosyanın IDE tarafından oluşturulan bir dosya olduğu gerçeğini birleştirerek adı geçen dosyayı sildim... Daha sonra ilgili .ASPX dosyasına Visual Studio 2008 IDE ile Solution Explorer da ters tıklarak "Convert to Web Application" dedim ve dosyanın tekrar oluşturulmasını sağladım... Ve sorun çözüldü... Arada bir tekrar ediyor ve çözümü tekrarlıyorum...
Dosya neden bozulur, nedenini tam anlasam çok rahatlayacağım... :)
Bu yazıyı ilk değerlendiren siz olun
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Geçenlerde Visual Studio 2008 IDE ayarlarımı dışarı aktarıp başka bir bilgisayara götürmek istedim...
Visual studio tools menüsü altından güzelce bilgisayarımın masaüstüne aktardım. Buraya kadar herşey güzeldi de bir de current settings diye bi ayar dosyası oluşturdu... Ben bu dosyayı gereksiz diye sildim :) Ertesi gün uygulamayı açtığımda "geçerli ayar dosyası bulunamıyor... Varsayılan ayarlala başlanıyor" gibi bişi dedi. Ben de "tamam abi" dedim mecburen... Sonra gördüm ki aynı dosyayı masaüstünde tekrar oluşturmuş...
Masaüstünde bi sürü gereksiz dosyanın yanında bu dosyanın bulunuyor olması beni kıl etti... Ama adam inatla o dosyayı orada oluşturuyordu...
Ben de gidip ilgili dosya adını regedit ile registryde aratıp normelde dosyanın olması gereken dizine ayarladım... Sorun çözüldü... Ben de ayarlarım kaybolmadığı için derin bir oh çektim...
Padişahım çok yaşa...
Aşağıdaki ekran görüntüsü bu işlemin sonucunu göstermektedir...
Bu yazıyı ilk değerlendiren siz olun
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Kodunuzu daha okunaklı kılmak için öncelike yapmanız gereken kod bloklarınızdan önce /// (üç bölü) yazmanız ve visual studio 2005 editörünün sizin için oluşturacağı bölümleri doldurmak.
/// <summary>
/// Bu sınıf Kişi verisi ve bu veri üzerinde yapılacak işlemleri içerir.
/// </summary>
Böylece ilgili kodunuz (class, method, vb.) kullanırken Visual Studio 2005 Editörü geliştirmeyi yapan kişiye gösterdiği tooltiplerde daha fazla bilgi verebilir.
Not:İlgili Tanım bloğu ile tanımladığı kod bloğu arasında boş satır olmamalıdır. Açıklama ile kod peş peşe yer almalıdır.
Ayrıca bu oluşturduğunuz bölümleri XML dosyasına aktarabilirsiniz.
Bu işlem için derleme parametrelerinde oluşturulacak XML dosyasının adı belirtilmelidir. Bunu yapmak için proje özelliklerinde build sekmesinde XML documentation file özelliği ayarlanmalıdır.
Bu işlemden sonra derleme sonucu gerekli XML belgesi oluşur.
Bundan sonra bu XML belgesi ile ne yapacağınız size kalıyor...
Örneğin bu dosyayı piyasada bulabileceğiniz uygulamalar ile kullanıp kendi yardım dosyalarınızı oluşturabilirsiniz.
Bu programlara NDoc örnek olarak verilebilir.
http://sourceforge.net/projects/ndoc/
Ayrıca bir XSL yardımı ile XML dosyanızın daha anlamlı görüntülenmesini de sağlayabilirsiniz...
http://www.codeproject.com/soap/XMLDocStylesheet.asp
Klavyeler şen ola...
Bu yazıyı ilk değerlendiren siz olun
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Geçenlerde Bursa Datahouse eğitim firmasında bir eğitim sırasında web.config dosyasına eklemek istediğimiz bir elemanı yazmaya başladığımızda intellisense özelliği bize önerilerde bulunmamış ve yarı yolda bırakmıştı. Biz de klavyemize kuvvet yazmıştık. Akabinde eğitimi takip eden arkadaşlardan birisi bunun "Web Site Administration Tool (WSAT)" a girdikten sonra gerçekleştiğini söylemişti.
Figür 1: Kaybolan Intellisense
Not: Web Site Administration Tool, basit bir web arayüzü ile uygulamanızla ilgili ayarlarınızı yapabilmeniz için .NET Framework 2.0 ile sağlanan bir araçtır. Visual Studio 2005 içinde "Website > ASP.NET Configuration" menü seçeneği ile ulaşabilirsiniz.
Gerçekten de WSAT a girdikten sonra web.config dosyamda intellisense kullanarak düzenleme yapamamaya başlamıştım.
Varsayılan bir web.config ile karşılaştırma yaptıktan sonra sorunun aracın eklediği XML Namespace tanımından kaynaklandığını farkettim.
Sorunu düzeltmek için configuration elemanında tanımlanan xmlns özniteliğini (attribute) kaldırmak yeterli oldu.
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
elemanını
<configuration>
şeklinde düzeltebilirsiniz...
Figür 2: Intellisense tekrar çalışıyor
Klavyeler şen ola...
Bu yazıyı ilk değerlendiren siz olun
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5