Browse Source

Fix MvcScaffolding not being able to find a class when a new file is added.

pull/28/head
Matt Ward 14 years ago
parent
commit
1abc8a86e2
  1. 1
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItems.cs
  2. 2
      src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementFileService.cs
  3. 5
      src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementFileService.cs
  4. 14
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs
  5. 7
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakeFileService.cs

1
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItems.cs

@ -98,6 +98,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -98,6 +98,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
{
ProjectItem projectItem = project.AddFileProjectItemUsingFullPath(fileName);
project.Save();
fileService.ParseFile(fileName);
return projectItem;
}

2
src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementFileService.cs

@ -14,5 +14,7 @@ namespace ICSharpCode.PackageManagement @@ -14,5 +14,7 @@ namespace ICSharpCode.PackageManagement
bool FileExists(string fileName);
string[] GetFiles(string path);
string[] GetDirectories(string path);
void ParseFile(string fileName);
}
}

5
src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementFileService.cs

@ -76,5 +76,10 @@ namespace ICSharpCode.PackageManagement @@ -76,5 +76,10 @@ namespace ICSharpCode.PackageManagement
return Directory.GetDirectories(path);
}
}
public void ParseFile(string fileName)
{
ParserService.ParseFile(fileName);
}
}
}

14
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs

@ -410,6 +410,20 @@ namespace PackageManagement.Tests.EnvDTE @@ -410,6 +410,20 @@ namespace PackageManagement.Tests.EnvDTE
Assert.IsTrue(saved);
}
[Test]
public void AddFromFile_FullFileNameIsInsideProject_FileIsParsed()
{
CreateProjectItems();
msbuildProject.FileName = @"d:\projects\myproject\myproject.csproj";
string fileName = @"d:\projects\myproject\packages\tools\test.cs";
projectItems.AddFromFile(fileName);
string parsedFileName = fakeFileService.FileNamePassedToParseFile;
Assert.AreEqual(fileName, parsedFileName);
}
[Test]
public void AddFromFile_FullFileNameIsInsideProject_ProjectItemReturned()
{

7
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakeFileService.cs

@ -106,5 +106,12 @@ namespace PackageManagement.Tests.Helpers @@ -106,5 +106,12 @@ namespace PackageManagement.Tests.Helpers
}
return new string[0];
}
public string FileNamePassedToParseFile;
public void ParseFile(string fileName)
{
FileNamePassedToParseFile = fileName;
}
}
}

Loading…
Cancel
Save