Skip to content

Commit

Permalink
Fixed The given key was not present... when activated ProjectRefere…
Browse files Browse the repository at this point in the history
…nces

Related: 3F/DllExport#148 (comment)

+Updated tests
  • Loading branch information
3F committed May 3, 2020
1 parent 1b8f580 commit 838fab0
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 11 deletions.
21 changes: 10 additions & 11 deletions MvsSln/Projects/Item.cs
Expand Up @@ -151,17 +151,16 @@ public Item(Microsoft.Build.Evaluation.ProjectItem eItem)
isImported = eItem.IsImported;
parentItem = eItem;

meta = eItem.DirectMetadata
.Select(m =>
new KeyValuePair<string, Metadata>(
m.Name,
new Metadata() {
name = m.Name,
unevaluated = m.UnevaluatedValue,
evaluated = m.EvaluatedValue
}
)
).ToDictionary(m => m.Key, m => m.Value);
meta = eItem.DirectMetadata.Select(m => new KeyValuePair<string, Metadata>
(
m.Name,
new Metadata()
{
name = m.Name,
unevaluated = m.UnevaluatedValue,
evaluated = m.EvaluatedValue
}
)).ToDictionary(m => m.Key, m => m.Value, StringComparer.OrdinalIgnoreCase);
}

#region DebuggerDisplay
Expand Down
5 changes: 5 additions & 0 deletions MvsSlnTest/Core/ProjectReferencesTest.cs
Expand Up @@ -4,6 +4,7 @@

namespace MvsSlnTest.Core
{
[Collection("Sequential")] //TODO: msbuild GlobalProjectCollection
public class ProjectReferencesTest
{
[Theory]
Expand Down Expand Up @@ -40,6 +41,10 @@ public void ActivationTheory1(string file, SlnItems items)
[InlineData(TestData.ROOT + @"ProjectDependenciesXml\projectguid\test2.sln", SlnItems.ProjectDependenciesXml | SlnItems.LoadDefaultData)]
[InlineData(TestData.ROOT + @"ProjectDependenciesXml\noprojectguid\test2.sln", SlnItems.ProjectDependenciesXml | SlnItems.LoadMinimalDefaultData)]
[InlineData(TestData.ROOT + @"ProjectDependenciesXml\noprojectguid\test2.sln", SlnItems.ProjectDependenciesXml | SlnItems.LoadDefaultData)]

// Part of Item.Metadata
[InlineData(TestData.ROOT + @"ProjectDependenciesXml\metatag\test.sln", SlnItems.ProjectDependenciesXml | SlnItems.LoadMinimalDefaultData)]
[InlineData(TestData.ROOT + @"ProjectDependenciesXml\metatag\test.sln", SlnItems.ProjectDependenciesXml | SlnItems.LoadDefaultData)]
public void ActivationTheory2(string file, SlnItems items)
{
const string _P1 = "{64AD76CA-2C85-4039-B0B3-734CF02B2999}";
Expand Down
1 change: 1 addition & 0 deletions MvsSlnTest/SlnResult/ProjectConfigurationPlatformsTest.cs
Expand Up @@ -3,6 +3,7 @@

namespace MvsSlnTest.Core
{
[Collection("Sequential")] //TODO: msbuild GlobalProjectCollection
public class ProjectConfigurationPlatformsTest
{
[Theory]
Expand Down
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ProjectReference Include="ClassLibrary2.csproj">
<project>{64ad76ca-2c85-4039-b0b3-734cf02b2999}</project>
<Name>ClassLibrary2</Name>
</ProjectReference>
</ItemGroup>
</Project>
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>
31 changes: 31 additions & 0 deletions MvsSlnTest/resources/ProjectDependenciesXml/metatag/test.sln
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30011.22
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary2", "ClassLibrary2.csproj", "{64AD76CA-2C85-4039-B0B3-734CF02B2999}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary1", "ClassLibrary1.csproj", "{6CE57BB1-4A6D-4714-B775-74A3637EC992}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{64AD76CA-2C85-4039-B0B3-734CF02B2999}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{64AD76CA-2C85-4039-B0B3-734CF02B2999}.Debug|Any CPU.Build.0 = Debug|Any CPU
{64AD76CA-2C85-4039-B0B3-734CF02B2999}.Release|Any CPU.ActiveCfg = Release|Any CPU
{64AD76CA-2C85-4039-B0B3-734CF02B2999}.Release|Any CPU.Build.0 = Release|Any CPU
{6CE57BB1-4A6D-4714-B775-74A3637EC992}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CE57BB1-4A6D-4714-B775-74A3637EC992}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CE57BB1-4A6D-4714-B775-74A3637EC992}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6CE57BB1-4A6D-4714-B775-74A3637EC992}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {94B06088-79E0-4DE6-9D42-064E4841E9D9}
EndGlobalSection
EndGlobal

0 comments on commit 838fab0

Please sign in to comment.