C# - System.Windows.Forms - 发生类型加载异常
C# - System.Windows.Forms - A type load exception has occurred
完整脚本(下面有更多详细信息)
using System;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
using System.IO;
using System.Windows.Forms;
namespace BuildShare
{
class BuildSaveHandler
{
public static void ExportSaveToFile(Build.BuildSave save)
{
SaveFileDialog SaveToFile = new SaveFileDialog();
SaveToFile.FileName = save.saveName + ".txt";
SaveToFile.Filter = "Text File | *.txt";
SaveToFile.ShowDialog();
if (SaveToFile.ShowDialog() == DialogResult.OK)
{
StreamWriter writer = new StreamWriter(SaveToFile.OpenFile());
writer.WriteLine(JsonUtility.ToJson(save));
writer.Dispose();
writer.Close();
}
}
}
}
当我 运行 ExportSaveFile 时,我得到 "Could not load type 'ThreadContext' from assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'"。我只是通过调用 ExportSaveFile(等)运行 它。我可能缺少必需的程序集吗?我 运行 从中安装应用程序的文件夹只能访问 System.Windows.Forms.dll + 其他所需的程序集。
这是一个单独的 C# 项目,正在编译成一个 dll。它使用 4.61 .Net 框架。
您不能在 Unity3D 中使用 SaveFileDialog
(或任何 System.Windows.Forms 对话框)。
完整脚本(下面有更多详细信息)
using System;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
using System.IO;
using System.Windows.Forms;
namespace BuildShare
{
class BuildSaveHandler
{
public static void ExportSaveToFile(Build.BuildSave save)
{
SaveFileDialog SaveToFile = new SaveFileDialog();
SaveToFile.FileName = save.saveName + ".txt";
SaveToFile.Filter = "Text File | *.txt";
SaveToFile.ShowDialog();
if (SaveToFile.ShowDialog() == DialogResult.OK)
{
StreamWriter writer = new StreamWriter(SaveToFile.OpenFile());
writer.WriteLine(JsonUtility.ToJson(save));
writer.Dispose();
writer.Close();
}
}
}
}
当我 运行 ExportSaveFile 时,我得到 "Could not load type 'ThreadContext' from assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'"。我只是通过调用 ExportSaveFile(等)运行 它。我可能缺少必需的程序集吗?我 运行 从中安装应用程序的文件夹只能访问 System.Windows.Forms.dll + 其他所需的程序集。
这是一个单独的 C# 项目,正在编译成一个 dll。它使用 4.61 .Net 框架。
您不能在 Unity3D 中使用 SaveFileDialog
(或任何 System.Windows.Forms 对话框)。