リリース ビルド用 (Mono を使用しないマシンでのベータ テスト用) に "Link SDK のみ" を使用してアプリをビルドすると、アプリが起動しなくなり、すぐにクラッシュするようです。
アプリのコマンド ラインを実行した場合のクラッシュは次のとおりです。
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for System.Xml.Serialization.XmlSerializer ---> System.Configuration.ConfigurationErrorsException: Error Initializing the configuration system. ---> System.MissingMethodException: Default constructor not found for type System.Configuration.ExeConfigurationHost.
at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0
at System.Configuration.InternalConfigurationSystem.Init (System.Type typeConfigHost, System.Object[] hostInitParams) [0x00000] in <filename unknown>:0
at System.Configuration.InternalConfigurationFactory.Create (System.Type typeConfigHost, System.Object[] hostInitConfigurationParams) [0x00000] in <filename unknown>:0
at System.Configuration.ConfigurationManager.OpenExeConfigurationInternal (ConfigurationUserLevel userLevel, System.Reflection.Assembly calling_assembly, System.String exePath) [0x00000] in <filename unknown>:0
at System.Configuration.ClientConfigurationSystem.get_Configuration () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Configuration.ClientConfigurationSystem.get_Configuration () [0x00000] in <filename unknown>:0
at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] in <filename unknown>:0
at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00000] in <filename unknown>:0
at System.Configuration.ConfigurationSettings.GetConfig (System.String sectionName) [0x00000] in <filename unknown>:0
at System.Xml.Serialization.XmlSerializer..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
ここに適切な[Preserve]
属性を追加する方法はありますか? または、リンカにこのクラスを保持させますか?
いくつかの詳細情報:
- 私のアプリはDraw a Stickman: EPICと呼ばれるモノゲーム ゲームです。
- アセンブリをリンクしなくても問題なく動作しますが、アプリは 10 MB 大きくなります
- もともと、Tao.Sdl.dll のリンカからいくつかのエラーが発生していましたが、メイン プロジェクトでそれを参照したところ、修正されました。
- 10.6以降をターゲットにしています