私は、現在のプロジェクトにクラスを追加するシンプルなビジュアルスタジオ2015拡張を作成しました。Visual Studio拡張リロードプロジェクト
Project p = (Project) ProjectsComboBox.SelectedItem;
string projectLocation = Path.GetDirectoryName(p.FileName);
// I load the project where I want to Add file
var projectCurrent = new Microsoft.Build.Evaluation.Project(p.FileName);
string relativeNewPath = "\\Model\\DAL\\" + ViewNameTexBox.Text + "DAO.cs";
string newPath = projectLocation + relativeNewPath;
projectCurrent.AddItem("Compile", relativeNewPath);
projectCurrent.Save();
// Once class added to my project I edit text inside newly create class
string text = File.ReadAllText("Templates/DAO.cs.txt");
text = text.Replace("$viewName$", ViewNameTexBox.Text);
File.WriteAllText(newPath, text);
ファイルはプロジェクトに含まれていますが、修正されましたがビジュアルスタジオにプロンプトが表示され、プロジェクトのリロードを促すメッセージが表示されます。私がそうすると、プロジェクトはリロードされません。
プロジェクトは、私がcurrentProjectを配置したいと思いますが、プロジェクトがIDisposableをでない環境
外に変更されました。 currentProjectをnullに設定しても効果はありません。
私のコードでcurrentProjectを解放し、Visual Studioにリロードする方法を教えてください。
なぜ[タグ:C]タグ? –
@IanAbbottがクリックオートコンプリートを逃した、それをCに変更しました – Yvain
これを行う別の方法が見つかりました。この[投稿](https://stackoverflow.com/a/44160484/1317323)で私の答えをご覧ください。 – Yvain