방법: WPF XAML 브라우저 응용 프로그램을 위한 샘플 프로젝트 파일 만들기
이 예제 프로젝트 파일은 XAML로 정의된 코드 숨김 페이지 HomePage를 자동으로 열도록 구성된 응용 프로그램 정의 파일(App)이 있는 XBAP(XAML 브라우저 응용 프로그램)에 사용됩니다. 주요 구성 정보는 다음과 같습니다.
OutputType. winexe로 설정됩니다.
HostInBrowser. XBAP(XAML 브라우저 응용 프로그램)를 브라우저에서 호스팅해야 하므로 이는 true로 설정되어야 합니다.
Install. XBAP(XAML 브라우저 응용 프로그램)이 설치되어 있지 않으므로 이는 false로 설정되어야 합니다.
TargetZone. XBAP(XAML 브라우저 응용 프로그램)가 인터넷 보안 영역에서 실행되므로 이는 "Internet"으로 설정되어야 합니다.
StartAction. 이는 "Program"으로 설정되어야 합니다.
StartProgram. 이는 브라우저에서 응용 프로그램을 호스팅하는 프로세스를 처리하는 프로그램으로 설정되어야 합니다.
StartArguments. 이는 확장명이 .xbap인 응용 프로그램 매니페스트에 대한 경로로 설정되어야 합니다.
App.xaml. ApplicationDefinition 요소로 구성된 응용 프로그램 정의 파일입니다.
HomePage.xaml. Page 요소로 선언된 XAML 파일입니다.
HomePage.xaml.cs. Compile 요소로 선언된 코드 숨김 파일입니다.
XBAPApplication_TemporaryKey.pfx. XBAP를 비롯하여 ClickOnce를 사용하여 배포된 응용 프로그램에 필요한 임시 매니페스트 키 파일입니다.
참조하는 파일이 참조 중인 위치에 있으면 이 프로젝트 파일을 다시 사용하거나 특정 요건에 맞춰 수정할 수 있습니다. 또는 Microsoft Visual Studio 2005에서 XAML 브라우저 응용 프로그램(WPF) 프로젝트 템플릿을 사용하여 자동으로 생성된 XBAP용 프로젝트 파일을 가질 수 있습니다.
이 프로젝트 파일은 C# 프로젝트용이며 여기에는 Microsoft.CSharp.targets Import 요소가 포함됩니다. Microsoft Visual Studio 2005에서는 C# 프로젝트 파일에 .csproj 확장명을 부여합니다. Microsoft Visual Studio 2005에서 만든 Microsoft Visual Basic .NET에는 일반적으로 .vbproj 확장명이 지정되며 Microsoft.VisualBasic.Targets Import 요소가 포함됩니다.
예제
<Project DefaultTargets="Build" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<RootNamespace>XBAPApplication</RootNamespace>
<AssemblyName>XBAPApplication</AssemblyName>
<WarningLevel>4</WarningLevel>
<OutputType>winexe</OutputType>
<EnableSecurityDebugging>false</EnableSecurityDebugging>
<ApplicationVersion>1.0.0.*</ApplicationVersion>
<MapFileExtensions>False</MapFileExtensions>
<HostInBrowser>True</HostInBrowser>
<Install>False</Install>
<TargetZone>Internet</TargetZone>
<StartAction>Program</StartAction>
<StartProgram>$(WINDIR)\System32\PresentationHost.exe</StartProgram>
<ApplicationExtension>.xbap</ApplicationExtension>
<StartArguments>-debug "$(MSBuildProjectDirectory)\bin\$(Configuration)\$(AssemblyName)$(ApplicationExtension)"</StartArguments>
<SignManifests>True</SignManifests>
<BootstrapperEnabled>false</BootstrapperEnabled>
<ManifestKeyFile>XBAPApplication_TemporaryKey.pfx</ManifestKeyFile>
<ManifestCertificateThumbprint>F2E49D0E8A6FE749DE85D224F5557B875DFD5577</ManifestCertificateThumbprint>
</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="HomePage.xaml" />
<Compile Include="HomePage.xaml.cs" />
</ItemGroup>
<ItemGroup>
<None Include="XBAPApplication_TemporaryKey.pfx" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />
</Project>