在执行时MVC 6创建目录

时间:2016-01-13 07:54:05

标签: c# asp.net-core-mvc

我使用它的byte []在数据库中上传文件。要将文件保存在可执行位置的字典中,我使用以下代码。但它在MVC 6中工作

protected string CreateDirectory()
        {
            try
            {
                string strDirPath = string.Empty;
                #region Create directory at executable location
                string path = Assembly.GetExecutingAssembly().Location;
                FileInfo fileInfo = new FileInfo(path);
                string dir = fileInfo.DirectoryName;
                string dirFolderName = "\\Uploads";
                #endregion
                //Create Directory at executable path
                if (!Directory.Exists(dir + dirFolderName))
                {
                    Directory.CreateDirectory(dir + dirFolderName);
                }
                strDirPath = dir + dirFolderName;
                return strDirPath;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }

        }

此代码给出如下错误:

CS0117  'Assembly' does not contain a definition for 'GetExecutingAssembly' ProjectName.DNX Core 5.0    

请帮助我了解如何在MVC 6中创建字典

2 个答案:

答案 0 :(得分:0)

而不是

Assembly.GetExecutingAssembly().Location;

使用

typeof(SomeClassInTheCurrentlyExecutingAssembly).GetTypeInfo().Assembly.Location

由于您使用的是DNX 5.0,GetExecutingAssembly()不存在。

答案 1 :(得分:0)

尽量不要定位DNX Core 5.0框架。如果此时您不需要它,则可以从项目中的project.json文件中删除条目dnxcore50。 从

改变它
"frameworks": {
"dnx451": {
  "dependencies": {
  }
},
"dnxcore50": { }

"frameworks": {
"dnx451": {
  "dependencies": {
  }
}