Carlos Ble

Carlos Ble

I am a professional software developer, I solve problems.

I also teach and mentor developers to build better software.

Developing software since 2001.

Can I help you?

  • Do you need high quality tailor-made software?
  • Need training on TDD, clean code or refactoring?
  • Is it risky? do you need advise?
  • May I pair with you to write better code?

Events

Upcoming public training courses:

  1. [Online - en Español] 25 y 26 de Junio
    Test Doubles con JavaScript - Online
  2. [in English] July 7, 8 & 9
    TDD (open to the public) - Tenerife, Canary Islands
  3. [en Español] 14 y 15 Julio
    TDD (en abierto) - Gran Canaria, Canary Islands
  4. [in English] October 13, 14 & 15
    TDD (open to the public) - London, UK
  5. [en Español] 29, 30 y 31 de Octubre.
    TDD (en abierto) - Madrid, Spain

Conferences:

  1. I'll be at SocratesUK 2014
  2. I'll be at the London Test Gathering Workshops.

Archive for April, 2007



In the last few years I've been interested in software architecture and this tendency is growing everyday. I do think that I want to work as an architect within the next years.
Few days ago I listened a really good presentation on SOA from Ron Jacobs that I recommend. Unfortunately you need IE to watch the presentation :-( . I found funny when people from Microsoft talk about cross-platform and standards, because I know they are talking about connection a Windows 98 agains a Windows XP and so forth, no POSIX platforms, nor any other one. Is there any other than MS platform? :-)
Anyway Ron is focused on software architecture and there are quite a few recurses on architecture at his site. Following the links you can go to these other cool sites:
www.skyscrapr.net
www.arcast.tv

Lets see how to convert a Desktop WPF application in a Web Application. I am using VS 2005 for this.
First of all we need to go the the project properties, and click on the "Signing" button in the left side. Mark the checkbox labeled "Sing the ClickOne manifests" and click the "Create Test Certificate" button.
After that, go through all your .xaml and .xaml.cs Windows and change Window for Page either in the xaml and extending from
System.Windows.Controls.Page in the partial class.
Now save everything and open the solution file (.cs.prof file) with an ascii text editor and add this lines in the first PropertyGroup:

<ApplicationExtension>.xbap</ApplicationExtension>
<MinFrameworkVersionRequired>3.0</MinFrameworkVersionRequired>
<HostInBrowser>True</HostInBrowser>
<Install>false</Install>
<MapFileExtensions>false</MapFileExtensions>
<IsWebBootstrapper>true</IsWebBootstrapper>
<BootstrapperEnabled>true</BootstrapperEnabled>
<PublishUrl>Publish\</PublishUrl>
<StartArguments>-debug "$(MSBuildProjectDirectory)\bin\
$(Configuration)\
$(AssemblyName)$(ApplicationExtension)"</StartArguments>
<StartAction>Program</StartAction>
<StartProgram>$(WINDIR)\System32\PresentationHost.exe</StartProgram>

The folowing tags should be within the file as well but they should be autogenerated:

<OutputType>winexe</OutputType>
<SignManifests>true</SignManifests>
<SignAssembly>false</SignAssembly>
<ManifestCertificateThumbprint> SOMETHING <
/ManifestCertificateThumbprint>
<ManifestKeyFile> SOMETHING_TemporaryKey.pfx</ManifestKeyFile>
<GenerateManifests>true</GenerateManifests>

We are working with Windows Presentation Foundation these days, using Visual Studio 2005 but the technology seems to be too new and the tools have some annoying bugs. The new XAML has some good things and some other scary problems you should be aware of. The goog point for me as a developer who has access to the MS tools is that you can design your application as a desktop one with a rich developer experience but giving the application a web appearance.
XAML is not surprising for me because Glade has been separating code and presentation layers using XML since long time ago, and the Stetic engine is wonderful but the integration of the desktop and the web under Windows environments with WPF is very attractive for developers.
Anyway this post is intended for showing some bugs at the Cider plugin for Visual Studio which are really annoying:

  1. When trying to build : Error 9 Unable to copy file
    to <./path/X.dll>. The process cannot access the file X it is being used by another process.
  2. Editing and building XAML: Could not find schema information for the attribute X
  3. Editing and building XAML: The element X has invalid child element Y in namespace Z. List of possible elements expected
  4. Again: The tag X does not exist in XML namespace X

The solution is to close all the files you have opened in your current solution, close VS and open it again, trying to rebuild
before open any file. Some times you may be using some wpf control that is in a different assembly than another control and the second one depends on the first. In that case you need to rebuild the dependent assembly first when you change it as you may know.
Anyway the VS XAML designer is not very cool, I find better the MS Expression Blend even though the Blend designer doesn't have intellisense for manual xml edition. A good solution cold be to edit the .xaml files at MS Blend and to edit the .xaml.cs files at VS, sharing the project solution file for both programs.
I dindn't know these issues were bugs but fortunately Alex told me that ;-)
If this technology was open source we cold go through the code to find out the bugs and fix them but this time, we have to wait for MS to release a new version :-(

Update: Arrrrrggghhhh!!!!!. MS Expression Blend and VS wpf designer are both awful !!!!!!!