Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式创建ASP.NET MVC项目?_C#_.net_Asp.net Mvc_Project_Envdte - Fatal编程技术网

C# 如何以编程方式创建ASP.NET MVC项目?

C# 如何以编程方式创建ASP.NET MVC项目?,c#,.net,asp.net-mvc,project,envdte,C#,.net,Asp.net Mvc,Project,Envdte,对于我的项目,我需要以编程方式创建一个MVC解决方案和项目 我已经搜索并找到了使用Solution2和EnvDTE80创建控制台应用程序的方法。代码如下: string commonName = "ConsoleAppProg"; string csPrjPath = $"C:\\TestCreateProject\\{commonName}"; Type type = Type.GetTypeFromProgID("VisualStudio.DTE.15.0"); DTE dte = (DTE

对于我的项目,我需要以编程方式创建一个MVC解决方案和项目

我已经搜索并找到了使用Solution2和EnvDTE80创建控制台应用程序的方法。代码如下:

string commonName = "ConsoleAppProg";
string csPrjPath = $"C:\\TestCreateProject\\{commonName}";
Type type = Type.GetTypeFromProgID("VisualStudio.DTE.15.0");
DTE dte = (DTE)Activator.CreateInstance(type, true);
Solution2 sln = (Solution2)dte.Solution;
sln.Create(csPrjPath, commonName);
sln.SaveAs(commonName + ".sln");
string csProjectTemplatePath = sln.GetProjectTemplate("ConsoleApplication.zip", "CSharp");
sln.AddFromTemplate(csProjectTemplatePath, $"{csPrjPath}\\{commonName}", commonName, false);
但是我没有找到创建MVC项目的方法。在VS安装文件夹的Extensions文件夹中搜索时,除了ConsoleApplication和ClassLibrary之外,我没有找到“mvc.zip”或其他内容

我希望有人能帮我解决这个问题


提前谢谢你

多亏了Dan Wilson的评论,我在这个文件夹中进行了搜索(提示:
C:\Program Files(x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ProjectTemplates
),我找到了一种执行MVC项目创建的方法

对于那些想要开发它的人,请遵循以下代码:

// PATH
string commonName = "ConsoleAppProg";
string csPrjPath = $"C:\\TestCreateProject\\{commonName}";

// SOLUTION INITIALIZATION
Type type = Type.GetTypeFromProgID("VisualStudio.DTE.15.0");
DTE dte = (DTE)Activator.CreateInstance(type, true);
Solution2 sln = (Solution2)dte.Solution;

string csProjectTemplatePath = sln.GetProjectTemplate("WebApplication.zip|FrameworkVersion=4.5", "CSharp");

// SOLUTION AND PROJECT CREATION
sln.Create(csPrjPath, commonName);
sln.SaveAs(commonName + ".sln");
sln.AddFromTemplate(csProjectTemplatePath, $"{csPrjPath}\\{commonName}", commonName, false);
查看第一个字符串
sln.GetProjectTemplate()
。要创建基于MVC的Web应用程序,必须在字符串中的管道之后指定框架版本。就我而言:4.5


再次感谢

我在
C:\ProgramFiles(x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ProjectTemplates
下看到了目录。您安装了模板吗?如果您在.NETCore中使用ASP MVC应用程序,将非常容易。只需使用命令
dotnet new mvc-o ProjectName
即可。你应该考虑: