Dynamic Proxy + Expression Tree

В своей работе я всегда пытаюсь абстрагироваться как можно сильнее от всех раздражающих факторов, будь то шум в офисе или сложность управления WCF-сервисом. И вот как раз с последним мне недавно пришла интересная идея. Суть в чем: есть некий класс, который внутри себя полностью управляет каким-то WCF-сервисом, то есть поднимает его (если это self-hosted), подключается […]

Как подписать все сборки приложения

Понадобилось тут по работе подписать все проекты в решении ключиком. Вообще, вариантов тут три: 1.У каждого проекта в свойствах указать ключ вручную на вкладке Signing – Sign the assembly 2.Использовать командную строчку MSBuild а-ля "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" .sln /p:Configuration=Release /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=%key_path% /p:OutDir=%outdir%Client" 3.Распарсить каждый файл проекта xxx.csproj и выставить вручную ключи. Первый вариант подходит. Почти. Потому что […]

Дебаг со всеми удобствами

Недавно открыл для себя атрибут, который значительно облегчил мне жизнь в некоторых случаях. Его зовут DebuggerDisplay. Его назначение я покажу на примере. Допустим, у нас есть класс Parameter, который имеет следующий вид: public class Parameter { internal Parameter(string name, byte[] value) { Name = name; Value = value; } public string Name { get; private […]