다음을 통해 공유


방법: 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>