Я пытаюсь создать консольный проект приложения ядра сети программным способом.Для этого я кодировал, как показано ниже.Проблема в том, что экземпляр FileCodeModel "fcm" всегда равен нулю в коде.если я принудительно показываю окно сообщения после вызова AddFromTemplate (), проблема не возникает.но я не предпочитаю этот обходной путь.Кто-нибудь знает, почему эта проблема возникла и как ее избежать?
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 с net core sdk.