无法在asp.net MVC中使用File.WriteAllBytes(),无法从方法组中选择方法您是否打算调用该方法?

Moh*_*and 6 c# asp.net-mvc file

我正在尝试创建一个我在数据库中作为字节数组的文件的副本,我正在寻找最简单的方法来做到这一点,在SO和其他地方,答案似乎是:

File.WriteAllBytes(string newfilepath, byte[] theFile);

但是我无法使用File类中的任何东西,只要我输入File.intellisense 就会在其下面画一条红线并说:

cannot choose method from method group did you intend to invoke the method?

我意识到这是一个非常通用的问题,解决方案很可能是一个非常简单的问题,但我无法理解我的生活.有任何想法吗?

这是我尝试创建文件的代码:

    var labProcessOrderLetter = from obj1 in context.LabArticles
                                join obj2 in context.ProcessLabs
                                on obj1.ProcessForLabID equals obj2.ID
                                where obj1.ID == _articleId
                                select obj2.LetterAttachment;

    byte[] thePDFLetter = (byte[]) labProcessOrderLetter.FirstOrDefault();

    var uploadPath = Server.MapPath("~/_TEMP/PDF");
    var tempfilename = Guid.NewGuid().ToString();
    var tempfilenameandlocation = Path.Combine(uploadPath, Path.GetFileName(tempfilename));

    File.WriteAllBytes( tempfilenameandlocation, thePDFLetter);
Run Code Online (Sandbox Code Playgroud)

编辑:显然我已经导入了System.IO命名空间,在我的项目中没有任何地方我有一个名为File的方法或类,或者甚至以File开头.

Dam*_*ver 19

听起来你有一个方法,你可以看到(在同一个类中,也就是说)File.这将优先选择System.IO.File.所以你需要完全限定名称:

System.IO.File.WriteAllBytes(tempfilenameandlocation, thePDFLetter);
Run Code Online (Sandbox Code Playgroud)

(事实上​​,在这个问题上有足够的线索.这就是Controller.File范围)