Share via


How to: Create a Sample Project File for a Windows Presentation Foundation Standalone Application

This example project file is for a Windows Presentation Foundation (WPF) standalone application, with an application definition, App, that is configured to automatically open a window, MainWindow, which is defined with Extensible Application Markup Language (XAML) and code-behind. Key configuration details include:

  • OutputType. Set to winexe.

  • App.xaml. The application definition file being configured as an ApplicationDefinition element.

  • MainWindow.xaml. A XAML file that is declared as a Page element.

  • MainWindow.xaml.cs. A code-behind file that is declared as a Compile element.

You can reuse or modify this project file to suit your needs, as long as the files you reference are in the ___location you're referencing them from. Alternatively, you can have a project file for a standalone application automatically generated for you by using the Windows Application (WPF) project template in Microsoft Visual Studio 2005.

This project file is for a C# project and consequently includes the Microsoft.CSharp.targets Import element. Microsoft Visual Studio 2005 gives C# project files a .csproj extension. A Microsoft Visual Basic .NET created in Microsoft Visual Studio 2005 would typically have the .vbproj extension, and would include the Microsoft.VisualBasic.targets Import element.

Example

<Project DefaultTargets="Build" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup>

<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

<RootNamespace>WPFStandaloneApplication</RootNamespace>

<AssemblyName>WPFStandaloneApplication</AssemblyName>

<WarningLevel>4</WarningLevel>

<OutputType>winexe</OutputType>

<ApplicationVersion>1.0.0.*</ApplicationVersion>

<BootstrapperEnabled>false</BootstrapperEnabled>

</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">

<DebugSymbols>true</DebugSymbols>

<DebugType>full</DebugType>

<Optimize>false</Optimize>

<OutputPath>.\bin\Debug\</OutputPath>

<DefineConstants>DEBUG;TRACE</DefineConstants>

</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">

<DebugSymbols>false</DebugSymbols>

<Optimize>true</Optimize>

<OutputPath>.\bin\Release\</OutputPath>

<DefineConstants>TRACE</DefineConstants>

</PropertyGroup>

<ItemGroup>

<Reference Include="System" />

<Reference Include="WindowsBase" />

<Reference Include="PresentationCore" />

<Reference Include="PresentationFramework" />

</ItemGroup>

<ItemGroup>

<ApplicationDefinition Include="App.xaml" />

<Page Include="MainWindow.xaml" />

<Compile Include="MainWindow.xaml.cs" />

</ItemGroup>

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

<Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />

</Project>