Visual Studio: *.sqlproj is not supported by this version of application

Při otevírání solution ve Visual Studiu (2010 i 2012) s databázovým projektem (myšleno *.sqlproj) se zobrazuje hláška, že projekt nelze otevřít, protože není podporován aplikací.

Z SQL Serveru je třeba doinstalovat komponentu SQL Server Data Tools.

Instaloval jsem z SQL Serveru 2012, při příštím otevření Visual Studia se mi zobrazila nabídka ke stažení a instalace SQL Server Data Tools z internetu, kterou bylo třeba provést (a vypnout VS, jinak instalace neprojde).

Poté již lze pracovat se *.sqlproj projekty.

„StanPackage package did not load correctly“ při porovnání souborů ve Visual Studiu 2012

Stačí jednou otevřít (a zase zavřít) okno View – Other Windows – Code Analysis.

UPDATE: Problém se po pár týdnech vrátil. Zdá se, že problém způsobovala jedna z verzí Code Contracts, provedl jsem reinstalaci (repair) Visual Studia a reinstalaci Code Contracts na nejnovější verzi, problém opět zmizel.

Optimalizace výkonu webových aplikací – Slides, dema, záznam [WUG Praha 07/2012]

Slides a dema z přednášky pro WUG Praha v červenci 2012:

Z přednášky byl pořizován obrazový záznam, který je k dispozici na našem YouTube Channel:

Optimalizace výkonu databázových dotazů – Slides, dema [TechEd Praha 2012]

Slides a dema z přednášky na konferenci TechEd Praha 2012:

Záznam z přednášky nebyl pořizován, obdobnou přednášku jsem však prezentoval pro WUG Praha a k té záznam existuje.

Optimalizace výkonu webových aplikací – Slides, dema [TechEd Praha 2012]

Slides a dema z přednášky na konferenci TechEd Praha 2012:

Záznam přednášky nebyl pořizován, rozšířená podoba však byla následně prezentována pro WUG Praha a pro tu existuje záznam.

Tipy a triky v .NET a VS (C#) – Slides a dema [TechEd Praha 2012]

Slides a dema z přednášky na konferenci TechEd Praha 2012:

Záznam z přednášky nebyl pořizován.

Tipy a triky T-SQL – Slides a dema [TechEd Praha 2012]

Slides a dema z přednášky na konferenci TechEd DevCon Praha 2012:

Záznam z přednášky nebyl pořizován.

Diff Visual Studio 11 z příkazové řádky + použití s TortoiseSVN

Krásný nový Diff-tool z Visual Studio 11 se dá vyvolávat i externě z příkazové řádky a dá se tak použít například i přímo z TortoiseSVN.

Obecná syntaxe je:

devenv /diff sourceFile targetFile [sourceDisplayName] [targetDisplayName]

Pokud již nějaká instance Visual Studia běží, použije se, jinak se spustí nové.

TortoiseSVN

Pro TortoiseSVN v Settings/Diff Viewer stačí přepnout na „External“ a použít:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe /diff %base %mine %bname %yname

(Cestu si samozřejmě upravte podle sebe.)

…teď už jenom zajistit, jestli se dá takhle vyvolat i merge. Z výpisu devenv /? to zatím nevypadá.

NuGet – poznámky z přednášky

Pár mých poznámek z přednášky o NuGet (Package Manager ve VS od Microsoftu), které zřejmě nebudu dále zpracovávat.

(Microsoft MVP Summit 2012 Seattle)

Links

Tvorba vlastního package

  • NuGet Command Line (ke stažení přes samotný NuGet)
  • VS / New Project / Class Library
    • NuGet.exe pack <.csproj file>
      • vznikne .nupkg
      • je to zip ála .docx
    • NuGet.exe push <.nupkg file>
  • [global: AssemblyInformationVersion(„any string“)]
    • pre-release = číslo verze obsahuje podtržítko

Nastavení vlastního NuGet feedu ve VS11

  • Tools / Library Package Manager / Package Manager Settings / Package Sources
  • dá se tam nastavit FilePath, kde mám své packages
  • nebo použít package „NuGet.Server“
    • Install-Package NuGet.Server
    • stáhne SLN s jednoduchým servříkem

C# 5: Caller Info Attributes

Zajímavá novinka v C# 5 poslouží například k logování. Následující příklad funguje ve Visual Studio 11 Beta

  class Program
    {
        static void Main(string[] args)
        {
            Log("Message");
        }

        static void Log(string message,
            [CallerMemberName] string callerMemberName = "",
            [CallerFilePath] string callerFilePath = "",
            [CallerLineNumber] int callerLineNumber = 0)
        {
            Console.WriteLine(message);
            Console.WriteLine(callerMemberName);
            Console.WriteLine(callerFilePath);
            Console.WriteLine(callerLineNumber);
        }
    }

Výstupem je např:

Message
Main
d:\Development\CallerAttributes\CallerAttributes\Program.cs
14