2011-06-29 7 views
1

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にはコードビハインドはありません。

答えて

1

は、それは実行時のタグを追加した後、私のために働いた

<startup useLegacyV2RuntimeActivationPolicy="true"> 
<supportedRuntime version="v4.0.30319"/> 
<startup/> 
<runtime> 
<netFx40_LegacySecurityPolicy enabled="true"/> 
<runtime/> 

を追加します!

関連する問題