2

VB.NETとC#の両方で、VS2010で自動生成されたシリアル化アセンブリのよく知られた問題を解決しようとしています。プロジェクト設定の[GenerateSerializationAssemblies]オプションは、Web以外のプロジェクトには何もしません(http://blog.devstone.com/aaron/archive/2008/02/07/2778.aspxなどを参照)。したがって、シリアライザーを呼び出すと、ファイルI / O例外が生成されますが、これは非常に残念なことであり、解決策はありません。上記で提案された方法はVS2010で機能しないようであり、SGENは/proxytypesを有効にして実行されます。

4

1 に答える 1

4

解決:

プロジェクト設定の「GenerateSerializationAssemblies」を通常どおりONに設定してから、このxmlを.projファイルに追加します。

<PropertyGroup>
    <SGenUseProxyTypes>false</SGenUseProxyTypes>
    <SGenPlatformTarget>$(Platform)</SGenPlatformTarget>
</PropertyGroup>

最初の行は、邪悪な/proxytypesスイッチをオフにします。選択したプラットフォームがAnyCPU以外の場合は、2行目が必要です。省略した場合、シリアル化アセンブリはAnyCPUで構築され、x86またはx64のメインアセンブリへのバインドに失敗します。

于 2012-04-06T03:52:50.633 に答える