为什么EnvDTE.ProjectItem.FileCodeModel在.net核心项目上是空的?

时间:2018-05-23 15:23:54

标签: vsix envdte

我正在尝试以编程方式构建一个net core console app项目。为此,我编码如下。 问题是..... FileCodeModel实例" fcm"在代码中始终为null。如果我在调用AddFromTemplate()后强行显示消息框,则不会发生此问题。但我不喜欢这种解决方法。有谁知道为什么这个问题ouucrs以及如何避免它?

string itemName = "View.cs";
string itemTemplatePath =solution2.GetProjectItemTemplate("CodeFile", "CSharp");        

destProject.ProjectItems.AddFromTemplate(itemTemplatePath, itemName);

//if I forcefully show the msgbox, fcm is not null.!!
//MessageBox.show("ok","ok");

ProjectItem destProjectItem = null;
foreach(ProjectItem projectItem in destProject.ProjectItems)
{
if(projectItem.Name == itemName)
     {
     destProjectItem = projectItem;
      break;
          }
}  

FileCodeModel fcm = destProjectItem.FileCodeModel; 
if (fcm == null)
 throw new ArgumentNullException("fcm is null!!");

fcm.AddNamespace("MyNameSpace");

现在我正在使用VS 2017最新版本的机智网核心sdk。

0 个答案:

没有答案