InfoPath.FormControl を使用して.NET4.0 WPFアプリケーションでInfoPathフォームをホストしています。VS20010でInfoPath FormControlを使用する際の問題
<WindowsFormsHost Name="infoPathFormsHost">
<ip:FormControl x:Name="infoPathXmlEditor"/>
</WindowsFormsHost>
すべてが正常に動作し、私は正常に開いているフォーム使用することができます:私はMainSourceにCreateNavigatorを使用してフォーム内の要素を試してみて、ナビゲートする際に、例えば、問題に実行を開始しかし
this.infoPathXmlEditor.NewFromFormTemplate(formTemplatePath, fileStream, XmlFormOpenMode.Default);
私は、次の例外を取得
this.infoPathXmlEditor.XmlForm.MainDataSource.CreateNavigator().SelectSingleNode(xPathToElement);
その時点で:
「混合モードアセンブリは、ランタイムのバージョン 『v2.0.50727の』に対して構築されており、追加の構成情報なし4.0ランタイムでロードすることはできません。」
私はこれを克服する方法は、app.configファイルに以下を追加することです見つけるために管理:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
しかし、私は私が今NewFromFormTemplateメソッドの呼び出しで、この例外を取得することを追加するとき:
InfoPathは新しい空白のフォームを作成できません。 InfoPathはフォームを開くことができません。この問題を解決するには、システム管理者に連絡してください。
フォームテンプレート:file:/// フォームのコードにエラーがあるため、InfoPathは選択したフォームを開くことができません。 このメソッドは、.NET Frameworkによって廃止されたCASポリシーを明示的に使用します。互換性の理由でCASポリシーを有効にするには、NetFx40_LegacySecurityPolicy設定スイッチを使用してください。詳細については、http://go.microsoft.com/fwlink/?LinkID=155570を参照してください。
この問題の解決方法を知っている人はいますか?どんな助けでも大変に感謝します。
注:InfoPath FormCode.csにはコードビハインドはありません。