Warning: strpos(): needle is not a string or an integer in /customers/a/f/c/fjorden.se/httpd.www/joel/index.php on line 31 Warning: strpos(): needle is not a string or an integer in /customers/a/f/c/fjorden.se/httpd.www/joel/index.php on line 37 Warning: strpos(): needle is not a string or an integer in /customers/a/f/c/fjorden.se/httpd.www/joel/index.php on line 49 Blog by Joel Fjordén a.k.a. Will o Wisp - Code Style Enforcer 2.2.34
Code Style Enforcer 2.2.34 
Wednesday, March 17, 2010, 05:41 PM - Code Style Enforcer
Today I'm releasing a very minor version change of Code Style Enforcer where the only difference to 2.2.10 is that it is compiled against DXCore v2009 vol 3.3 (9.3.3). The reason for this is that a few users have experienced problems with the combination of Code Style Enforcer 2.2.10 and the latest version of DXCore.

It's been quite a long time now since anything big really happened to Code Style Enforcer, and it is simply because I have not had the time I wanted and needed for it. Now I've at least setup a continuous integration environment for it, or really exchanged CC.NET which I once used in favor for TeamCity, which seems to work really great!

The next thing that will happen with Code Style Enforcer is that I will port it to Visual Studio 2010. There is now a beta version of DXCore, v2010 vol 1.0, which has some breaking changes in it that I will need to adhere to in order for CSE to work in the new WPF editor.

After releasing a version working well with Visual Studio 2010, I will look into the new extension capabilities of the new code editor in order to see what advantages this can give to Code Style Enforcer.
4 comments ( 114 views )   |  related link

MSBuild 4 Fails Building Device Projects Outside Visual Studio 2010 
Monday, January 11, 2010, 07:45 AM - Visual Studio
I recently wrote a blog post about a workaround for building .NET Compact Framework (Smart Device) projects in Visual Studio 2010 Beta 2.

This workes perfectly fine when building it inside Visual Studio 2010, but when building it from the command line using MSBuild 4.0 it fails, complaining about not finding the GetDeviceFrameworkPath in the Microsoft.CompactFramework.Build.Tasks. This has to do with an error in the configuration file for MSBuild.

The solution is to edit the msbuild.exe.config file in the [Windows]\Microsoft.NET\Framework\v4.0.21006 folder and to remove the binding redirect for Microsoft.CompactFramework.Build.Tasks to version 10.0.0.0, which does not exist yet.

Lines to remove:
<dependentAssembly>
<assemblyIdentity name="Microsoft.CompactFramework.Build.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="10.0.0.0"/>
</dependentAssembly>

1 comment ( 8 views )   |  related link

TestDriven.NET Complains About Apartment State Not Being STA in Visual Studio 2010 
Wednesday, December 30, 2009, 04:14 PM - Visual Studio
Today I installed TestDriven.NET version 3 Alpha which works great in Visual Studio 2010 Beta 2, except for one thing. Many tests failed due to an InvalidOperationException being thrown, stating that the calling thread must be STA.

I know that I had configured the apartment state to STA in the NUnit config file corresponding to the NUnit project file (or assembly). TestDriven.NET states that it defaults to run with STA as apartment state, but still it complained about not being STA.

The solution for me was to explicitly add the RequiresSTA attribute to the class being tested. The RequiresSTA attribute can be added to individual test methods, an entire test fixture or the whole assembly.
1 comment ( 9 views )   |  related link

Making Visual Studio 2010 Perform Better in VMWare. 
Monday, December 28, 2009, 04:22 PM - Visual Studio
Are you experiencing very bad performance, crashes or painting problems when running Visual Studio 2010 Beta 2 in a virtual machine, like VMWare? I did experience this in VMWare, e.g. VS 2010 crashed when creating new projects, painting problems in the new project dialog, etc.

I found this blog post describing the issue and a workaround that not only is specific for Visual Studio 2010, but for all WPF application.

Simply disable hardware acceleration by creating a registry value HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration, as a DWORD with a value of 1.
1 comment ( 8 views )   |  related link

Open and Build .NET Compact Framework Projects in Visual Studio 2010 
Monday, December 28, 2009, 04:00 PM - Visual Studio
.NET Compact Framework (Smart Device) projects are still not supported in Beta 2 of Visual Studio 2010, but there is a workaround until support is added in the final version.

Things to change in VS 2008 .NET Compact Framework (Smart Device) projects to make them load and build in VS 2010 while still targeting the .NET Compact Framework.

1) Edit the project file (*.csproj) for your smart device project.

2) Make sure the ToolsVersion attribute is set to 4.0.

3) Remove the ProjectTypeGuids property item from the main property group.

4) Both PlatformFamilyName and PlatformID are important for the project to correctly target the .NET Compact Framework.

5) Change the import item for the Compact Framework build task to specify the location of the Microsoft.CompactFramework.CSharp.targets file. Either hard-code the path in the task or add the path to a property item in the main property group and reference that in the import item.

Example #1:
<Import Condition="'$(TargetFrameworkVersion)' == 'v3.5'" Project="C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.CompactFramework.CSharp.targets" />

Example #2:
<PropertyGroup>
<MSBuildBinPathCF Condition=" '$(MSBuildBinPathCF)' == '' ">C:\Windows\Microsoft.NET\Framework\v3.5</MSBuildBinPathCF>
</PropertyGroup>

<Import Condition="'$(TargetFrameworkVersion)' == 'v3.5'" Project="$(MSBuildBinPathCF)\Microsoft.CompactFramework.CSharp.targets" />


6) Remove the import tasks for older versions of the .NET Compact Framework or configure them correctly.

7) Copy the "Microsoft.CompactFramework.Common.targets" file from [Windows]\Microsoft.NET\Framework\v3.5 to [Windows]\Microsoft.NET\Framework\v4.0.21006.

8) Reload the project. It might still ask for a conversion but this time it will load the project correctly.


Things to change in VS 2010 project files, targeting .NET 3.5, to make them target the .NET Compact Framework 3.5.

1) Replace the MSBuild project task targeting the .NET Framework to the one targeting the .NET Compact Framework, i.e. Microsoft.CompactFramework.CSharp.targets. Either hard-code the path in the task or add the path to a property item in the main property group and reference that in the import item.

Example #1:
<Import Condition="'$(TargetFrameworkVersion)' == 'v3.5'" Project="C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.CompactFramework.CSharp.targets" />

Example #2:
<PropertyGroup>
<MSBuildBinPathCF Condition=" '$(MSBuildBinPathCF)' == '' ">C:\Windows\Microsoft.NET\Framework\v3.5</MSBuildBinPathCF>
</PropertyGroup>

<Import Condition="'$(TargetFrameworkVersion)' == 'v3.5'" Project="$(MSBuildBinPathCF)\Microsoft.CompactFramework.CSharp.targets" />


2) Add the following property items to the main property group:
<PlatformFamilyName>WindowsCE</PlatformFamilyName>
<PlatformID>E2BECB1F-8C8C-41ba-B736-9BE7D946A398</PlatformID>


3) Copy the "Microsoft.CompactFramework.Common.targets" MSBuild .NET Compact Framework target file, from [Windows]\Microsoft.NET\Framework\v3.5 to [Windows]\Microsoft.NET\Framework\v4.0.21006:

4) Reload the project.
4 comments ( 326 views )   |  related link


Back Next