2012-03-16 3 views
1

なぜですか?私はコントローラに何か関係があると感じています。System.IOはFile in MVC contollerのメソッドを提供しませんが、System.IO.Fileは

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using NidecMotorXref.MvcUI.BaseControllers; 
using System.Web.Mvc; 
using LINQtoCSV; 
using System.IO; 

    [HttpPost] 
    public virtual ActionResult Matches(ImportModel model, string save, HttpPostedFileBase fileUpload) 
     { ... } 

これらはすべて私の参照ですが、私の高いアップはそれが必要のように行動しながらFile.Delete(「myfileName」)は解決しません。私のソリューションはSystem.IO.Fileで動作しますが、なぜ私のリファレンスを解決しないのか不思議でした。

+0

'Controller.File'ではあいまいかもしれませんか? http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.file.aspx – David

+0

おそらく、ちょうどそれが両方が許可されていない奇妙だと思った。 –

+0

どちらも許可する必要がありますが、参照があいまいでコンパイラはそれを理解しようとしません。ただ文句を言うだけです。 'using'ディレクティブで別名を少し変更するか、ディレクティブを宣言するときに完全修飾することができます。 – David

答えて

0

コントローラではFileというメソッドが定義されているため、コンパイラはシンボルFileを解決するときにこの方法を選択します。

Fileシンボルが含まれていないクラスで使用すると、コンパイラはusingステートメントで解決することになります。したがって、File.Deleteは他のクラスで動作します。

関連する問題