Wednesday, 8 February 2012

How to update references to a 3rd party assembly in all the projects in the solution?

Let's say you have a 3rd party assembly referenced in many projects in your solution. Once a new version of the 3rd party assembly is released, you probably would like to update the references in all your projects in a solution to the new version.

Are you using NuGet to update 3rd party libraries?
If the answer no, install Extension for Visual Studio RIGHT NOW from NuGet

Copy the following script to the root directory of your solution


Navigate to View -> Other Windows -> Package Management Console

Run the following command

PM> .\Upgrade-Package.ps1 -PackageID:log4net

Sunday, 29 January 2012

How to monitor WCF Service up time using Performance Counters?

I was asked to monitor how long WCF service is up using Performance Counters. There is no WCF specific counter that displays this. Actually it depends on the hosting of your WCF service.

- If the service is hosted in IIS, use "Service Uptime" performance counter under "Web Service Category"
- If the service is hosted in Console application or Windows Service, you can use "Elapsed Time" in "Process" category

Thanks to Josef Pfleger for answering my question

Wednesday, 4 January 2012

Best Visual Studio add in for debugging .NET

I am sure it happens for most of us: when you debug some code, you need to see a certain property in debug without changing the ToString() implementation or to see the return value of a method without stepping out of it. You say in heart "I wish it would be possible" and continue to debug the old way. Two courage guys Vitaly Belman and Omer Aviv had quit their job to make their dream true. They have developed a Visual Studio addin that makes what ReSharper to the code writing.




Free trial for 60 days:
http://www.bugaidsoftware.com/

Thursday, 17 November 2011

There was a problem loading the XSD documents provided: a reference to a schema element with name X and namespace Y could not be resolved because the element definition could not be found in the schema for targetNamespace Z.

Posting this one mostly as a reminder for myself:

I was working on extending some existing WCF service in development, while an older version already deployed to production. Let's say our production site is
www.borismod.com
and my local machine name is borism
When I tried to create a local proxy of the web service I got the following error:

(all the ULRs and namespaces are fictive)

>svcutil http://www.borismod.com/RealGeekyURL/mex

Attempting to download metadata from 'http://www.borismod.com/RealGeekyURL/mex' using WS-Metadata Exchange or DISCO.
Error: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: There was a problem loading the XSD documents provided: a reference to a schema element with name 'DoSomeCrazyGeekyStuff' and namespace 'http://borismod.blogspot.com/' could not be resolved because the element definition could not be found in the schema for targetNamespace 'http://www.borismod.com/'. Please check the XSD docu
ments provided and try again.
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://www.borismod.com/']/wsdl:portType[@name='ISomeRealGeekService']

Problem:
The actual problem is that there are references from the WSDL to some internal classes. The references point to the production site. The new added classes were missing in production.

Solution:
Point in host file to the local machine, actually adding the following line in hosts file:
127.0.0.1 www.borismod.com

Wednesday, 14 September 2011

Windows 8 Build event

Haven't been here for a while, will try to update the blog more frequently. I attended a Microsoft Build event yesterday where guys and a girl from Redmond presented the next operating system - Windows 8. The presentation was held in the US and was broadcast live worldwide.

So what are the new buzz words we hear in the next years:
- WinRT - a new run-time to provide a unified access to all languages: C, C++, C#, VB.NET and Javascript
- Reset/Restore will replace the familiar Restore Points. Creating your own "reset" point is available in command line utility only
- Metrostyle - is the new unified styling of applications supporting multi-touch, sliding etc

Additional features are:
- Publishing applications to the cloud. All the apps will be certified by "the big brother" to have no malicious code
- I was also impressed by boot up performance, it's a real improvement

Good work!