středa 26. března 2014

Transformace ConnectionStringu ve Web.Configu

Pokud se stejně jako já rozčilujete proč neproběhne transformace web.configu když máte všechno správně a pořád se vám používá ConnectionString ze souboru web.config a ne z web.release.config tak zkuste tuto úpravu:

  

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <connectionStrings>
  <add connectionstring="Data Source=.\SQLEXPRESS;Initial Catalog=databaze;Integrated Security=true" name="DefaultConnection" providername="System.Data.SqlClient" xdt:locator="Match(name)" xdt:transform="SetAttributes"/>
</connectionStrings>
</configuration>


Důležité je odkomentovaný Tag add obalit ještě tagem <connectionStrings> aby locator hledal shodu na správném místě které je "configuration/connectionStrings/add". Některé příklady od Microsoftu nejsou blbuvzdorné :) a pouhé odkomentování šablony nestačí.

Zdroje:

neděle 9. února 2014

Přejmenování projektu ve VS

Po přejmenování projektu je potřeba promazat složky bin a release protože po přejmenování ve složkách zůstanou PDB soubory s debug informacema a potom při debugu visual studio prohledává originální soubor, který se mu ale nepodaří najít.

pondělí 25. listopadu 2013

Jak na Boolovský vypočítaný sloupec v SQL databázi?

Přidání podmínky [VALIDACNI_CHYBA]=0 do řádku Formula v designeru tabulky nestačí.
Je totiž potřeba provést konverzi z hodnoty, kterou vrátí CASE na datový typ BIT

např.

ALTER TABLE dbo.MyTable ADD VALIDNI AS CONVERT([bit],case when [VALIDACNI_CHYBA]=(0) then (1) else (0) end, 0);

konverze je hezká věc, ale stejně po ní zbyde v databázi Allow Nulls pžíznak
Snažil jsem se to vyřešit příkazem CAST ... AS BIT to ale stejně nepomohlo.

cast (CONVERT([bit],case when [VALIDACNI_CHYBA]=(0) then (1) else (0) end, 0) as bit)

Nezbylo mi nic jiného než toto ošetřit v aplikaci if (VALIDNI.Value) {...}

Zdroje:
http://stackoverflow.com/questions/2050007/marking-persisted-computed-columns-not-null-in-sql-server-management-studio

středa 23. října 2013

Jak vypnout automatické nastavení stavu Resloved při Commitu?

Pokud Vás stejně jako mě štve, že se Vám při Commitu změn do SourceControlu nastavuje stav Work Itemu na Resolved. tak toto chování můžete jednoduše změnit nastavením registru:
“HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\TeamFoundation\SourceControl\Behavior\ResolveAsDefaultCheckinAction” = “False”.
Tak sem si to nastavil, jak u 10 tak u 11, ale stejně to nezabralo. restart PC ani vypnutí studia zatím nezabralo.

Zdroj:
http://stackoverflow.com/questions/12263972/how-to-disable-auto-done-status-for-task-in-checkin

neděle 20. října 2013

Jak nastavit Check-In Policy na TFS z Visual Studia 2012

Check-In policy nám vynutí aby programátoři při své práci dodržovali vybraná pravidla, jako například vyplňovali komentář Check-Inu. Tyto pravidla musí být splněna jinak nám Visual Studio neumožní provést Check-In.
Na výběr je několik základních pravidel jako například již zmíněné pravidlo pro komentáře, nutnost navázat k Check-Inu související Work Item nebo, že poslední Build musel proběhnout v pořádku.
Visual Studio dokonce umožňuje vytvořit si vlastní pravidla. To se může hodit pokud váš programátor sice komentáře vyplňuje, ale jejich vypovídající hodnota je skoro nulová protože používá buď jednu frázi, nebo zapisuje pouze čísla Work Itemů (které jsou zbytečné, protože s danými WI tento Check-In provázal).
Vlastní pravidlo je pouze jedna třída zkompilovaná do DLL. Tuto třídu je potřeba zaregistrovat na pracovní stanici do registrů odkud ji Visual Studio přidá do seznamu pravidel ze kterých můžete vybírat.
Přidání pravidla se provede v Team Exploreru ve skupině Team Project / Source Code. Zde na záložce Check-In Policy přidáme pravidla tlačítkem Add.

Zdroj:
http://msdn.microsoft.com/en-us/library/bb668980.aspx
http://blogs.msdn.com/b/buckh/archive/2006/10/26/a-checkin-policy-to-detect-that-the-build-is-broken-in-a-ci-environment.aspx?Redirected=true

úterý 18. června 2013

Trace a Debug do souboru

Přesměrovat trasovací a ladítí informace do souboru je hračka. Stačí na začátek aplikace přidat kód který ukáže třídě Trace, nebo Debug do kterého souboru chceme aby se informace zapisovali. Pokud aplikace padá na neznámém místě je důležité přidat řádek *.AutoFlush = true. Ten nám zajistí že se informace okamžitě zapíší do souboru a nečeká se na ruční volání metody .Flush()


  Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener"));
            Trace.TraceInformation("Test message.");
            Trace.AutoFlush = true;
            Debug.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.dbg", "myListener"));
            Debug.WriteLine("Test message");
            Debug.AutoFlush = true;

středa 15. května 2013

Doplňky a nástroje do Visual Studia

StyleCop

Klávesové zkratky
CTRL + SHIFT + Y = spuštění kontroly StyleCop
F8 = skok na další earning
Stáhněte si z http://stylecop.codeplex.com/releases/view/79972

Resharper

Klávesové zkratky
ALT + PageUp / Down = skok na další nabídku opravy
ALT + Enter = otevře nabídku s připomínkami

Zdroj:
http://resourcerefactoring.codeplex.com/

A jak by to mělo vypadat?


  • Get Latest Version
  • Refactoring
  • Implement Changes
  • Build
  • Debug
  • Rebuild
  • Refactoring
  • Run StyleCop
  • Send For Review
  • Commit
No a ještě někde by se také měli psát testy