Я хуею. Один из возможных способов отправить HTTP запрос это написать код типа
HttpWebRequest r = WebRequest.Create(url) as HttpWebRequest;
r.Method = "POST";
r.ContentType = "application/json";
System.Byte[] jA = Encoding.UTF8.GetBytes(jsonStringToSend);

Stream rStream = r.GetRequestStream();
rStream.Write(jA, 0, j.Length);
HttpWebResponse re = r.GetResponse() as HttpWebResponse;

А где же происходит отправка запроса? А во время вызова GetResponse и происходит. Для сравнения код на Ruby:
uri = URI.parse("http://localhost:3000/users")

header = {'Content-Type': 'text/json'}
user = {user: {
name: 'Bob',
email: 'bob@example.com'
}
}

http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = user.to_json

# Send the request
response = http.request(request)

Не могу получить данные с сайта по HTTPS из программки на .NET в Windows XP ({"Unable to read data from the transport connection: Удаленный хост принудительно разорвал существующее подключение."}). А вот в случае программы на Python такой проблемы нет. Сука–а!

В C# можно создать объект анонимного типа используя записав свйства в фигурных скобках (как в языке–который–нельзя–называть)

var o = new {name = "Ndndn", place = 12};
Но как потом обратиться к этим свойствам? Судя по подсказке IDE у объекта свойств таких нет. Оказывается всё просто (проще чем в языке–который–нельзя–называть):

item.GetType().GetProperty("label").GetValue(item, null)

Попробовал VB.NET. Лучше Python. Оперативки меньше потребляется, многословность не напрягает, Visual Studio очень помогает делая подсказки, конструкции вроде Double.TryParse(cPrice, Globalization.NumberStyles.Currency, Globalization.CultureInfo.CreateSpecificCulture("uk-UA"), currentPrice) добавляют уверенности. Но писать на .NET это грех и подвисающий переписанный с использованием .NET Daemon tools с неотзывчивым GUI последней версии что я пробовал тому доказательство.

The name of the project, used for the assembly name as well as the name of the package. The top level folder name is used if this property is not specified.
docs.microsoft.com


Если вы собираете проект и не можете найти нужные ассембляйки — скорее всего они на месте, но под другим именем

Есть ли в сишарпе что-нибудь типа версий символов? То есть у меня Foo.dll есть метод Foo.Foo, который возвращает int, а потом мне приспичило возвращать string. Называть его Foo.FooString() как-то глупо. Можно ли сделать так чтобы код собранный со старой Foo.dll по имени Foo.Foo реально попадал бы на старую имплементацию метода, а с новой — на новую. Перегрузка, очевидно, не канает, так как тип возвращается.

можно ли в xaml описать свой класс, с новыми пропертями?

У меня окошко с кучей полей. Я пытаюсь сделать ему DesignTimeData. Все пишут что надо в xaml инстанциировать свою ViewModel, как-то заполнять её данными. Но у нас тут такая модель что в DesignTime её не получается инстанциировать. Пока лучшее что я придумал это сделать фейковую модель и её уже заполнять. Но это как-то криво, по-моему. По хорошему, если у нас утиная типизация и всё работает через рефлекшен, наверное можно сделать как-то так чтобы этот рефлекшен видел список пропертей, которые можно в рантайме менять в зависимости от того как класс ициализирован. Я нагуглил какой-то ICustomTypeDescriptor, но никакой готовой к использованию реализации на нашёл (есть абстрактные классы), всё равно надо что-то своё наследовать,

О боже! Какое же дерьмище этот Entity Framework! Ошибка на ошибке, сплошные исключения. Проще самому написать все логику работу с бд, чем заставить это говно пахать должным образом.

Жуйк программирующий, помоги сориентироваться. Раньше я работал на C#, который виндовый, да. Начинал с ASP.Net, потом работал с WPF. Так получилось, что пришлось поменять работу и писать на JavaScript. Но js браузерный меня уже как-то не впечатляет, но может быть я не всё знаю. Я пытаюсь определиться, оставаться мне с js, или переходить обратно на C#. Говорят, что C# востребованнее, и платят там больше, а на яваскрипте только и остаётся что клепать сайты-визитки.

У меня такая ситуация. Короче, у нас есть некая общая шина, где вызывается метод через Invoke(). Потом этот метод в какой-то момент зовёт нативный код, который и делает всю работу. Если нативный код крешится, по идее это должно превратиться в исключение и улететь в самый верх и привести к падению программы. При этом в дампе должен быть стек до места падения. И есть проблема — Invoke() ловит все исключения и заворачивает их в TargetInvocationException, где внутреннее исключение записано как InnerException. Но нативный стек при этом не сохраняется — он же недоступен в рантайме. В итоге у нас есть стек до места входа в нативный код, который практически бесполезен.

Как это можно было бы пофиксить?

msdn говорит про bindingRedirect "When you build a .NET Framework application against a strong-named assembly, the application uses that version of the assembly at run time by default, even if a new version is available. However, you can configure the application to run against a newer version of the assembly". То есть, если мы уже собираем софт, иметь эти редиректы в app.config не нужно, вместо этого надо исправить сам референс.
я правильно рассуждаю?

*teamcity *гавно

Ели вы столкнулись с проблемой перекомпиляции проектов, даже если сорцы не менялись — скорее всего проблема связана с AssemblyAttributes.cs файцлом, который генерит MSBuild.

Этот файл генерится всего с одной целью — добавить TargetFrameworkAttribute в вашу сборку. Но вместо того что бы по старинке добавить его в AssemblyInfo.cs средствами студии — MS решили пойти новым путем.

А проблема даже не с самим AssemblyAttributes.cs файлом, а с тем что он ложится в TEMP папку системы. А если папку почистить или поменять — файл пересоздасться и будет новее собранных ранее асембляек — тадам! вот и перекомпиляция.

А теперь накладываем на это TeamCity которая переопределяет TEMP в окружении на свою папку, которую чистит после каждого билда. И получаем постоянную перекомпиляцию проектов.

Лечится переопределением пути к AssemblyAttributes.cs файлу в проекте:

<PropertyGroup>
<TargetFrameworkMonikerAssemblyAttributesPath>$([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)'))</TargetFrameworkMonikerAssemblyAttributesPath>
</PropertyGroup>


blogs.msdn.com
stackoverflow.com
stackoverflow.com