Microsoft only supports Visual Studio Professional for developing Windows Mobile applications and, more generally, code based on the .NET Compact Framework. You get nice things like application deployment and emulators and remote debugging and all. But if you just want to compile something against the .NET Compact Framework, for example to check that you’re using supported methods and classes, you can do that with Visual Studio Express.
Create a project in Visual Studio Express and open it in a text editor.
In MSBuild, you can specify inputs and outputs for target so that the target is skipped when the outputs are more recent than the inputs. However, you get a strange behaviour when you put a <CreateProperty> task inside such a target.
Let's look at the following MSBuild project:
<Project DefaultTargets="DoIt" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <WhyIsThisCreated>everything is okay</WhyIsThisCreated> </PropertyGroup>
<Target Name="DoIt" DependsOnTargets="CreateTestFiles; DoStuffMaybe"> <Message Text="I say: $(WhyIsThisCreated)" /> </Target>
<Target Name="CreateTestFiles"> <WriteLinesToFile Lines="input" File="input.