因此,在我的程序中,我使用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