C# - System.Windows.Forms - 发生了类型加载异常

时间:2018-04-13 20:48:29

标签: c# assemblies

完整脚本(下面有更多详情)

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时,我得到"无法加载类型' ThreadContext'来自assembly' System.Windows.Forms,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'"。我只需通过调用ExportSaveFile(等)来运行它。我可能会缺少所需的组件吗?我运行应用程序的文件夹只能访问System.Windows.Forms.dll +其他必需的程序集。

这是一个单独的C#项目,正在编译成一个dll。它使用4.61 .Net Framework。

1 个答案:

答案 0 :(得分:1)

您不能在Unity3D中使用SaveFileDialog(或任何System.Windows.Forms对话框)。

相反,请使用EditorUtility.SaveFilePanel