因此,在我的程序中,我使用COM Auotmation(Silverlight 4中的AutomationFactory)创建一个FileSystemObject,向其中写入一个字符串(theContent)。这种情况下的内容是一个小的UTF-8 XML文件,我使用MemoryStream将其序列化为字符串。Scripting.FileSystemObject写入方法失败
字符串很好,但由于某种原因,每当我调用FileSystemObject的Write方法时,我都会收到错误“HRESULT 0x800A0005(来自google的CTL_E_ILLEGALFUNCTIONCALL)。”最奇怪的部分是,如果我传递另一个简单的字符串,如“你好”,它没有问题。
任何想法?另外,如果有一种方法可以用FileSystemObject公开文件/文本流,我可以直接将其序列化,那也是很好的(我似乎无法找到任何不在VB中的东西)。
在此先感谢!
string theContent = System.Text.Encoding.UTF8.GetString(content, 0, content.Length);
string hello = "hello";
using (dynamic fsoCom = AutomationFactory.CreateObject("Scripting.FileSystemObject"))
{
dynamic file = fsoCom.CreateTextFile("file.xml", true);
file.Write(theContent);
file.Write(hello);
file.Close();
}
我只想问... *为什么*您使用FSO在这里? – 2010-08-11 19:28:01
本质上,我使用Silverlight(用于.NET应用程序的OOB Silverlight前端)做了一些非常有趣的事情,所以我仅限于AutomationFactory可以生成的任何内容。 – 2010-08-11 19:46:18