XML シリアル化アセンブリ生成の自動化
XML シリアル化を使用するときに頻繁に発生するエラーは、「MyAssembly.XmlSerializers」アセンブリの FileNotFoundException
です。これは、フレームワークが自動生成されたシリアル化アセンブリを見つけられないために発生します。
Microsoft のソリューションには MSBuild プロパティ SGenUseProxyTypes
が含まれています。 SGen
タスクには通常、/proxytypes
コマンドに sgen.exe
スイッチが含まれており、Web サービスのプロキシ タイプを作成します。 ただし、Web サービスのないアセンブリの場合、SGenUseProxyTypes
を false
に設定すると、プロキシ型の生成が防止され、シリアル化アセンブリが強制的に作成されます。
この修正を実装するには、プロジェクト ファイルの構成に次のプロパティを追加します。
<code class="language-xml"><PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <GenerateSerializationAssemblies>On</GenerateSerializationAssemblies> <SGenUseProxyTypes>false</SGenUseProxyTypes> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <GenerateSerializationAssemblies>On</GenerateSerializationAssemblies> <SGenUseProxyTypes>false</SGenUseProxyTypes> </PropertyGroup></code>
GenerateSerializationAssemblies
を "On" に設定し、SGenUseProxyTypes
を "false" に設定すると、Visual Studio は必要な XML シリアル化アセンブリを自動的に生成し、FileNotFoundException
を解決してスムーズなシリアル化を保証します。
以上がXML シリアル化中に「MyAssembly.XmlSerializers」の FileNotFoundException を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。