我的 Windows 应用程序对用户编写的代码进行运行时编译。在调试模式下,CompilationClass实例获取应用程序所需的少量文件。但是在发布模式下,同一个类实例从不同的位置获取文件,因此会发生错误。
// 只是示例代码
CompilationClass cc = new CompilationClass();
List<string> TotalAssemblyFiles;
public Form1()
{
TotalAssemblyFiles = cc.GetAssembliesFile(); // Error in this line
InitializeComponent();
}
不知道该怎么做..并且问题仅在发布模式下发生。我什至没有指定任何路径。
// Code for GetAssembliesFiles method
public List<string> GetAssembliesFile()
{
List<string> myAssemblies = new List<string>();
if (!File.Exists(Environment.CurrentDirectory + "\\assemblies.sft"))
{
// do nothing
}
else
{
BinaryFormatter binary = new BinaryFormatter();
Stream sreader = new FileStream(Environment.CurrentDirectory + "\\assemblies.sft", FileMode.Open);
myAssemblies = (List<string>)binary.Deserialize(sreader); // Issue
sreader.Close();
}
return refAssemblies;
}
在调试模式下,myAssemblies 获取 221 个文件,而在发布模式下,它获取 355 个文件