Bartek Szafko

all of the bits and pieces

Archive for the ‘.NET’ Category

Moje przygody z Subsonic

without comments

Subsonic jest kolejnym narzędziem ORM stworzonym z myślą o .NET. Ostatnio było dosyć głośno o nim po tym jak Microsoft zdecydował się zatrudnić(zasymilować ;) ) jego twórcę a samego Subsonica dołączyć do swojej implementacji MVC.

Read the rest of this entry »

Written by Bartłomiej Szafko

November 6th, 2007 at 8:11 pm

Posted in .NET

V spotkanie poznańskiej grupy .NET

without comments

http://www.dotnet.poznan.pl/

W ramach V spotkania poznańskiej grupy .NET miałem okazję przeprowadzić prezentację o WiX, czyli Windows Installer Xml ToolSet. Temat uważam jest dosyć ciekawy i często zaniedbywany – stąd mój pomysł aby przedstawić go szerszemu gronu. Oczywiście temat jest raczej około .netowy, ponieważ może być użyty dla dowolnego projektu.

Przedemną występował Michał Korsak z ITSoftware. Opowiadał o XAF ze stajni DevExpress, muszę przyznać że bardzo mnie zaciekawił ten framework. Na pewno przyjrzę się tematowi bliżej

To co mnie zabolało to stosunkowo mała widownia, myślałem że będzie więcej chętnych do posłuchania i poznania ludzi z branży .netowej. To co mnie najbardziej cieszy to, że zaczynają powstawać nieformalne inicjatywy ludzi zainteresowanych nowymi technologami. Jest to niepowtarzalna okazja żeby dowiedzieć się ciekawych rzeczy, poznać tricki, które stosują inni. Nie do przecenienia jest też poznawanie ludzi i oczywiście aspekt sieciowania.

Przy okazji przygotowań do prezentacji znalazłem rewelacyjny wywiad z Robem Menschingiem na TechNet Radio, w którym opowiada jak powstał WiX oraz o tym jak to się stało że jest to pierwszy projekt Microsoft, który uzyskał status Open Source. Znalazłem go całkiem przypadkowo, gdy szukałem jakiegoś Ľródła w którym można by sprawdzić jak poprawnie wymówić WiX.

Read the rest of this entry »

Written by Bartłomiej Szafko

September 20th, 2007 at 6:50 pm

Posted in .NET

Getting the most out of .NET data binding

without comments

http://jonkruger.com/blog/2007/02/16/getting-the-most-out-of-net-data-binding/

Written by Bartłomiej Szafko

April 25th, 2007 at 7:45 pm

Posted in .NET

Mistrz .net 2007 – wyniki

without comments

Właśnie ogłoszono wyniki z konkursu Mistrz .NET 2007. Niestety nic nie wygrałem :( na pocieszenie zająłem 20 miejsce, co nie jest takie złe biorąc pod uwagę liczbę osób biorących udział w konkursie. Oczywiście jestem pierwszy z Poznania ;p . Pełna lista wyników dostępna jest tutaj. Oczywiście miałem niesamowite szczęście i trafiłem na dużo pytań z VSTO.

Jeśli chodzi o sam konkurs to mam tylko jedną uwagę, część pytań była naprawdę tragicznie sformułowana. Wyglądało to tak jakby to były dosłowne tłumaczenia z angielskiego. Słabe.


Written by Bartłomiej Szafko

April 12th, 2007 at 6:42 pm

Posted in .NET

Getting Started with NUnitForms

without comments

http://www.pksoftware.net/blog/2007/02/06/Getting+Started+With+NUnitForms.aspx

Written by Bartłomiej Szafko

February 7th, 2007 at 8:07 pm

Posted in .NET

Castle project

without comments

http://danbunea.blogspot.com/2006/12/ajax-scaffolding-with-castle-monorail.html

Jakiś czas temu pisałem o castle project. Znalazłem rewelacyjny artykuł opisujący jak szybko używać frameworku, aby zwrobić coś jak rails dla .net i w dodatku z ajaxem.

Written by Bartłomiej Szafko

January 22nd, 2007 at 12:35 pm

Posted in .NET,Links

CastleProject – MonoRail

without comments

http://www.castleproject.org/index.html

Tak jak bardzo spodobał mi się Ruby On Rails, część związana z Rubym jest dość problematyczna. Szczeg?lnie od strony tzw. deploymentu i wydajnośći. Sam pomysł związany z Rails jest moim zdaniem rewelacyjny.

Okazuje się, że powstała implementacja Rails na platformę .NET – nazywa się MonoRail i jest częścią projektu Castle. W ramach, kt?rego powstała między innymi implementacja ActiveRecord przy użyciu NHibernate.

Projekt nie jest jeszcze finalny, ale zapowiada się bardzo obiecująco. Mało os?b o nim słyszało, ponieważ M$ woli promować własne webowe frameworki np Web Client Software Factory (WCSF). Sam WCSF jest skomplikowany i wymaga sporo pracy, żeby się z nim oswoić. Podobno r?wnież M$ nie daje _ŻADNEGO_ wsparcia gdy używamy obcych framework?w – można o tym przeczytać tutaj w artykule Scotta Bellware. Generalnie w artykule Scotta jest parę ciekawych postulat?w na temat marketingu i adopcji rozwiązań M$ w opozycji np do Javy. Warto przeczytać.

http://www.castleproject.org/index.html

Written by Bartłomiej Szafko

December 13th, 2006 at 5:12 pm

Posted in .NET

Using managed custom actions with WIX 3

without comments

Embedding custom actions written in .net may be very tricky. Some setup developers even consider it evil. However I found that with some research and reverse engineering it could be quite simple.

First of all you need InstalUtilLib.dll it’s a library which contains ManagedInstall procedure. This procedure allows you to call an assembly consisting of Installer inherited class. In .net 2.0 it is found somewhere near %WINDIR%\Microsoft.NET\Framework\v2.0.50727 . You have to embed it in Binary table of MSI file.

You will also need MSVBDPCADLL. This library setups runtime environment for .net assembly. I’ve seen some installer using .net custom actions which run without this library, hovewer for me it turned out that this library is needed. The easiest way to obtain this library is either decompile a vs made setup using dark from wix, or orca tool from microsoft.

Finally an extensive config file is also needed. This file is quite big and it’s best to obtain it like MSVBDPCADLL. In vs genereated setup it is called VSDNETCFG.ibd and is also located in Binary table.

<Binary Id=InstallUtil SourceFile=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtilLib.dll />

<Binary Id=MSVBDPCADLL SourceFile=Binary\MSVBDPCADLL.ibd />

<Binary Id=VSDNETCFG SourceFile=Binary\VSDNETCFG.ibd />

Now you can embed custom action like a normal file inside component

<File Id="MyCustomActionDll"  Name="MyCustomAction.dll" Source="MyCustomAction.dll" />

Now it is time to create custom actions. First of all you have to create an action to call CheckFX from MSVBDCALL. It does some magic, which is unclear for me at the moment and sets VSDFxConfigFile property which will be used as a config file. You also need a custom action to call your assembly. You will need one customaction to set a property with commandline to call and another one which calls ManagedInstall from installutil. The property has to be named exactly the same as custom action calling ManagedInstall.

<CustomAction Id=SetPrereqs BinaryKey=MSVBDPCADLL DllEntry=CheckFX />

<CustomAction Id=MyCASetProp Property=MyCA Value=/installtype=notransaction /action=install /LogFile= &quot;[#MyCustomActionDll]&quot; &quot;[VSDFxConfigFile]&quot;/>

<CustomAction Id=MyCA BinaryKey=InstallUtil DllEntry=ManagedInstall Execute=deferred />

Finally you have to instruct msi to execute your actions

<InstallExecuteSequence>

  <Custom Action=SetPrereqs After=InstallFiles>NOT Installed</Custom>

  <Custom Action=MyCASetProp After=SetPrereqs>NOT Installed</Custom>

  <Custom Action=MyCA After=MyCASetProp>NOT Installed</Custom>

</InstallExecuteSequence>

kick it on DotNetKicks.com

Written by Bartłomiej Szafko

November 6th, 2006 at 8:13 pm

Posted in .NET,General,WiX

CopySourceAsHTML 2005

without comments

http://www.avocadosoftware.com/csblogs/dredge/archive/2006/01/10/544.aspx

One hell of a cool addin for vs 2005. It allows to copy almost any source from vs as html with color coding and formating. Very useful, especially if you want to publish some code on the blog.Below an example code:

CopySourceAsHTML 2005 to bardzo fajny dodatek do vs2005. Pozwala skopiować dowolny kawałek kodu jako html nadający się do publikacji na stronach, np w blogu.Poniżej przykład:

   32     public static DataTable GetLeftPaymentsSum()

   33     {

   34         return PaymentProvider.Instance.GetLeftPaymentsSum();

   35     }

Written by Bartłomiej Szafko

April 10th, 2006 at 8:05 pm

Posted in .NET,Links

SqlDependency

without comments

http://msdn2.microsoft.com/en-us/library/dzf68kas.aspx

There is a cool new feature in .net 2.0 it is called SqlDependency it fires an event on sql result change. It allows a kind of asynchronous triggers and is probably the best choice to monitor foreign applications databasess for changes.

Only gotcha is you have to enable service broker on database being monitored.

Of course works only on sql server 2005.

I expect it will help in earning some bucks :D

Written by Bartłomiej Szafko

February 24th, 2006 at 9:54 pm

Posted in .NET