Visual Studioで「WPFブラウザーアプリケーション」のプロジェクトを作成し、"Hello World"を現在時刻で書きかえる処理を追加しただけのアプリです。
結局動作させることはできなかったが、後のために過程を残しておきます。
プロジェクトの設定
プロジェクトのプロパティの「署名」タブの「ClickOnceマニフェストに署名する」をチェックされていることを確認。
App.xaml
デフォルトのままです。
<Application x:Class="CurrentTime.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="Page1.xaml"> <Application.Resources> </Application.Resources> </Application>
App.xaml.cs
デフォルトのままです。
using System.Windows; namespace CurrentTime { /// <summary> /// App.xaml の相互作用ロジック /// </summary> public partial class App : Application { } }
Page1.xaml
<Page x:Class="CurrentTime.Page1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Page1"> <TextBox x:Name="text1" FontSize="24">Hello World</TextBox> </Page>
Page1.xaml.cs
using System; using System.Windows.Controls; namespace CurrentTime { /// <summary> /// Page1.xaml の相互作用ロジック /// </summary> public partial class Page1 : Page { public Page1() { InitializeComponent(); text1.Text = "現在の時刻:" + DateTime.Now.ToString(); } } }
ビルド
前回はマークアップのみなのでビルドは不要でしたが、今回はコードを追加したのでビルドします。
トラブルシュートの履歴
リンク先を参考に以下を試したが、いずれも事象は同じ。
Windows Presentation Foundation XAML ブラウザ アプリケーションの概要
XAML ブラウザ アプリケーション (XBAP) は、Web アプリケーションとリッチ クライアント アプリケーションの両方の機能を組み合わせます。XBAP は、Web アプリケーションと同じように、Web サーバーに公開して Internet Explorer から起動できます。また、リッチ クライアント アプリケーションと同じように、XBAP で WPF の機能を活用できます。XBAP の開発もリッチ クライアントの開発に似ています。このトピックでは、XBAP 開発の概略を示し、XBAP 開発が標準的なリッチ クライアント開発と異なる点を中心に説明します。 ...
- Inetpub\wwwroot配下に発行して、発行ページから実行
- バージョン番号をインクリメントして再発行し、発行ページから実行
- 「Mage.exe -cc」でキャッシュされたXBAPを削除した後に、ビルドして実行
- 「ソリューションのクリーン」→「ソリューションのリビルド」の後に実行
以降11/26追記
- プロジェクトの「セキュリティ」タブ
- 「アプリケーションがインストールされるゾーン」を「ローカルイントラネット」に変更
- 「これは部分的に信頼するアプリケーションです」を「...完全に信頼する...」に変更
- 「ClickOnceセキュリティ設定を有効にする」のチェックを外してビルド→.xbapファイルが作成されず
結局解決できず...