本文整理汇总了C#中MockEngine.AssertLogContainsMessageFromResource方法的典型用法代码示例。如果您正苦于以下问题:C# MockEngine.AssertLogContainsMessageFromResource方法的具体用法?C# MockEngine.AssertLogContainsMessageFromResource怎么用?C# MockEngine.AssertLogContainsMessageFromResource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MockEngine
的用法示例。
在下文中一共展示了MockEngine.AssertLogContainsMessageFromResource方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RemapAssemblyBasic
public void RemapAssemblyBasic()
{
MockEngine e = new MockEngine();
ITaskItem[] items = new ITaskItem[]
{
new TaskItem("ReferenceVersion9"),
new TaskItem("DependsOnOnlyv4Assemblies"),
new TaskItem("AnotherOne")
};
string redistString = "<FileList Redist='Microsoft-Windows-CLRCoreComp-Random' >" +
"<File AssemblyName='mscorlib' Version='4.0.0.0' PublicKeyToken='b77a5c561934e089' Culture='neutral' ProcessorArchitecture='MSIL' FileVersion='4.0.0.0' InGAC='true' />" +
"<Remap>" +
"<From AssemblyName='mscorlib' Version='9.0.0.0' PublicKeyToken='b77a5c561934e089' Culture='neutral' ProcessorArchitecture='MSIL' FileVersion='4.0.0.0' InGAC='true'>" +
" <To AssemblyName='mscorlib' Version='4.0.0.0' PublicKeyToken='b77a5c561934e089' Culture='neutral' ProcessorArchitecture='MSIL' FileVersion='4.0.0.0' InGAC='true' />" +
" </From>" +
"<From AssemblyName='DependsOnOnlyv4Assemblies'>" +
" <To AssemblyName='ReferenceVersion9' Version='9.0.0.0' PublicKeyToken='b17a5c561934e089' Culture='neutral' ProcessorArchitecture='MSIL' />" +
" </From>" +
"<From AssemblyName='AnotherOne'>" +
" <To AssemblyName='ReferenceVersion9' Version='9.0.0.0' PublicKeyToken='b17a5c561934e089' Culture='neutral' ProcessorArchitecture='MSIL' />" +
" </From>" +
"</Remap>" +
"</FileList >";
ResolveAssemblyReference t = new ResolveAssemblyReference();
ExecuteRAROnItemsAndRedist(t, e, items, redistString, false);
Assert.Equal(0, e.Warnings); // "Expected NO warning in this scenario."
e.AssertLogContainsMessageFromResource(resourceDelegate, "ResolveAssemblyReference.RemappedReference", "DependsOnOnlyv4Assemblies", "ReferenceVersion9, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089");
e.AssertLogContainsMessageFromResource(resourceDelegate, "ResolveAssemblyReference.RemappedReference", "AnotherOne", "ReferenceVersion9, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089");
Assert.Equal(1, t.ResolvedFiles.Length);
Assert.True(t.ResolvedFiles[0].GetMetadata("OriginalItemSpec").Equals("AnotherOne", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedFiles[0].ItemSpec.Equals(@"c:\MyComponents\misc\ReferenceVersion9.dll", StringComparison.OrdinalIgnoreCase));
}
示例2: NOSDKResolved
public void NOSDKResolved()
{
// Create the engine.
MockEngine engine = new MockEngine();
ResolveSDKReference t = new ResolveSDKReference();
ITaskItem item = new TaskItem("GoodTestSDK, Version=2.0");
ITaskItem item2 = new TaskItem("GoodTestSDK2, Version=2.0");
t.SDKReferences = new ITaskItem[] { item, item2 };
ITaskItem installedSDK = new TaskItem("DoesNotExist");
installedSDK.SetMetadata("SDKName", "RandomSDK, Version=1.0");
t.InstalledSDKs = new ITaskItem[] { installedSDK };
t.BuildEngine = engine;
bool succeeded = t.Execute();
Assert.False(succeeded);
Assert.Equal(0, t.ResolvedSDKReferences.Length);
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.CouldNotResolveSDK", "GoodTestSDK, Version=2.0");
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.CouldNotResolveSDK", "GoodTestSDK2, Version=2.0");
}
示例3: MixOfInstalledSDKItemsGoodDuplicateAndBad
public void MixOfInstalledSDKItemsGoodDuplicateAndBad()
{
// Create the engine.
MockEngine engine = new MockEngine();
ResolveSDKReference t = new ResolveSDKReference();
ITaskItem item = new TaskItem("GoodTestSDK, Version=2.0");
t.SDKReferences = new ITaskItem[] { item };
t.References = new TaskItem[0];
ITaskItem installedSDK1 = new TaskItem(@"c:\SDKDirectory\GoodTestSDK\2.0\");
installedSDK1.SetMetadata("SDKName", "GoodTestSDK, Version=2.0");
ITaskItem installedSDK2 = new TaskItem(@"c:\SDKDirectory\GoodTestSDK\2.0\");
installedSDK2.SetMetadata("SDKName", "GoodTestSDK, Version=2.0");
ITaskItem installedSDK3 = new TaskItem(String.Empty);
installedSDK3.SetMetadata("SDKName", "GoodTestSDK, Version=2.0");
ITaskItem installedSDK4 = new TaskItem(@"c:\SDKDirectory\GoodTestSDK\2.0\");
installedSDK4.SetMetadata("SDKName", String.Empty);
ITaskItem installedSDK5 = new TaskItem(@"c:\SDKDirectory\GoodTestSDK\2.0\");
t.InstalledSDKs = new ITaskItem[] { installedSDK1, installedSDK2, installedSDK3, installedSDK4, installedSDK5 };
t.BuildEngine = engine;
bool succeeded = t.Execute();
Assert.True(succeeded);
Assert.Equal(1, t.ResolvedSDKReferences.Length);
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.NoFrameworkIdentitiesFound");
Assert.True(t.ResolvedSDKReferences[0].ItemSpec.Equals(@"c:\SDKDirectory\GoodTestSDK\2.0\", StringComparison.OrdinalIgnoreCase));
Assert.Equal(0, t.ResolvedSDKReferences[0].GetMetadata("FrameworkIdentity").Length);
Assert.Equal(0, t.ResolvedSDKReferences[0].GetMetadata("AppXLocation").Length);
Assert.Equal(0, t.ResolvedSDKReferences[0].GetMetadata("SDKType").Length);
Assert.Equal(0, t.ResolvedSDKReferences[0].GetMetadata("DisplayName").Length);
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("ExpandReferenceAssemblies").Equals("True", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("CopyLocalExpandedReferenceAssemblies").Equals("True", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("TargetedSDKConfiguration").Equals("Retail", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("TargetedSDKArchitecture").Equals("Neutral", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("OriginalItemSpec").Equals(item.ItemSpec, StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("SDKName").Equals("GoodTestSDK, Version=2.0", StringComparison.OrdinalIgnoreCase));
}
示例4: InstalledSDKEmpty
public void InstalledSDKEmpty()
{
// Create the engine.
MockEngine engine = new MockEngine();
ResolveSDKReference t = new ResolveSDKReference();
ITaskItem item = new TaskItem("GoodTestSDK, Version=2.0");
t.SDKReferences = new ITaskItem[] { item };
t.References = null;
t.InstalledSDKs = new ITaskItem[0];
t.BuildEngine = engine;
bool succeeded = t.Execute();
Assert.True(succeeded);
Assert.Equal(0, t.ResolvedSDKReferences.Length);
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.NoSDKLocationsSpecified");
}
示例5: VerifyBuildWarningForESDKWithoutMaxPlatformVersionOnBlueOrAbove
//.........这里部分代码省略.........
// Resolve with PlatformVersion 8.0
MockEngine engine2 = new MockEngine();
TaskLoggingHelper log2 = new TaskLoggingHelper(engine2, "ResolveSDKReference");
log2.TaskResources = AssemblyResources.PrimaryResources;
ResolveSDKReference t2 = new ResolveSDKReference();
t2.SDKReferences = new ITaskItem[] { item };
t2.InstalledSDKs = new ITaskItem[] { installLocation };
t2.WarnOnMissingPlatformVersion = true;
t2.BuildEngine = engine2;
t2.TargetPlatformVersion = "8.0";
t2.ProjectName = "project.proj";
t2.TargetPlatformIdentifier = "windows";
bool succeeded2 = t2.Execute();
Assert.True(succeeded2);
engine2.AssertLogDoesntContainMessageFromResource(_resourceDelegate, "ResolveSDKReference.MaxPlatformVersionNotSpecified", "project.proj", "GoodTestSDK", "2.0", "windows", "8.0", "windows", t2.TargetPlatformVersion);
// Resolve with PlatformVersion 8.1
MockEngine engine3 = new MockEngine();
TaskLoggingHelper log3 = new TaskLoggingHelper(engine3, "ResolveSDKReference");
log3.TaskResources = AssemblyResources.PrimaryResources;
ResolveSDKReference t3 = new ResolveSDKReference();
t3.SDKReferences = new ITaskItem[] { item };
t3.InstalledSDKs = new ITaskItem[] { installLocation };
t3.WarnOnMissingPlatformVersion = true;
t3.BuildEngine = engine3;
t3.TargetPlatformVersion = "8.1";
t3.ProjectName = "project.proj";
t3.TargetPlatformIdentifier = "windows";
bool succeeded3 = t3.Execute();
Assert.True(succeeded3);
engine3.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.MaxPlatformVersionNotSpecified", "project.proj", "GoodTestSDK", "2.0", "windows", "8.0", "windows", t3.TargetPlatformVersion);
// Resolve with PlatformVersion 8.1 with WarnOnMissingPlatformVersion = false
MockEngine engine3a = new MockEngine();
TaskLoggingHelper log3a = new TaskLoggingHelper(engine3a, "ResolveSDKReference");
log3a.TaskResources = AssemblyResources.PrimaryResources;
ResolveSDKReference t3a = new ResolveSDKReference();
t3a.SDKReferences = new ITaskItem[] { item };
t3a.InstalledSDKs = new ITaskItem[] { installLocation };
t3a.WarnOnMissingPlatformVersion = false;
t3a.BuildEngine = engine3a;
t3a.TargetPlatformVersion = "8.1";
t3a.ProjectName = "project.proj";
t3a.TargetPlatformIdentifier = "windows";
bool succeeded3a = t3a.Execute();
Assert.True(succeeded3a);
engine3a.AssertLogDoesntContainMessageFromResource(_resourceDelegate, "ResolveSDKReference.MaxPlatformVersionNotSpecified", "project.proj", "GoodTestSDK", "2.0", "windows", "8.0", "windows", t3a.TargetPlatformVersion);
FileUtilities.DeleteNoThrow(sdkManifestFile);
// Manifest with MaxPlatformVersion
File.WriteAllText(sdkManifestFile, sdkManifestContents2);
// Resolve with PlatformVersion 8.0
MockEngine engine4 = new MockEngine();
TaskLoggingHelper log4 = new TaskLoggingHelper(engine4, "ResolveSDKReference");
log4.TaskResources = AssemblyResources.PrimaryResources;
ResolveSDKReference t4 = new ResolveSDKReference();
t4.SDKReferences = new ITaskItem[] { item };
t4.InstalledSDKs = new ITaskItem[] { installLocation };
t4.WarnOnMissingPlatformVersion = true;
t4.BuildEngine = engine4;
t4.TargetPlatformVersion = "8.0";
t4.ProjectName = "project.proj";
t4.TargetPlatformIdentifier = "windows";
bool succeeded4 = t4.Execute();
Assert.True(succeeded4);
engine4.AssertLogDoesntContainMessageFromResource(_resourceDelegate, "ResolveSDKReference.MaxPlatformVersionNotSpecified", "project.proj", "BadTestSDK", "1.0", "windows", "8.0", "windows", t4.TargetPlatformVersion);
// Resolve with PlatformVersion 8.1
MockEngine engine5 = new MockEngine();
TaskLoggingHelper log5 = new TaskLoggingHelper(engine5, "ResolveSDKReference");
log5.TaskResources = AssemblyResources.PrimaryResources;
ResolveSDKReference t5 = new ResolveSDKReference();
t5.SDKReferences = new ITaskItem[] { item };
t5.InstalledSDKs = new ITaskItem[] { installLocation };
t5.WarnOnMissingPlatformVersion = true;
t5.BuildEngine = engine5;
t5.ProjectName = "project.proj";
t5.TargetPlatformVersion = "8.1";
t5.TargetPlatformIdentifier = "windows";
bool succeeded5 = t5.Execute();
Assert.True(succeeded5);
engine5.AssertLogDoesntContainMessageFromResource(_resourceDelegate, "ResolveSDKReference.MaxPlatformVersionNotSpecified", "project.proj", "BadTestSDK", "1.0", "windows", "8.0", "windows", t5.TargetPlatformVersion);
}
finally
{
if (Directory.Exists(testDirectoryRoot))
{
FileUtilities.DeleteDirectoryNoThrow(testDirectoryRoot, true);
}
}
}
示例6: DoNotExpandSDKsWhichAreAlsoTargetedByReferences
public void DoNotExpandSDKsWhichAreAlsoTargetedByReferences()
{
// Create the engine.
MockEngine engine = new MockEngine();
ResolveSDKReference t = new ResolveSDKReference();
ITaskItem item = new TaskItem("GoodTestSDK, Version=2.0");
t.SDKReferences = new ITaskItem[] { item };
TaskItem referenceItem = new TaskItem("RandomWinMD");
referenceItem.SetMetadata("SDKName", "GoodTestSDK, Version=2.0");
t.References = new TaskItem[] { referenceItem };
ITaskItem installedSDK = new TaskItem(@"c:\SDKDirectory\GoodTestSDK\2.0\");
installedSDK.SetMetadata("SDKName", "GoodTestSDK, Version=2.0");
t.InstalledSDKs = new ITaskItem[] { installedSDK };
t.BuildEngine = engine;
bool succeeded = t.Execute();
Assert.True(succeeded);
Assert.Equal(1, t.ResolvedSDKReferences.Length);
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.NoFrameworkIdentitiesFound");
Assert.True(t.ResolvedSDKReferences[0].ItemSpec.Equals(@"c:\SDKDirectory\GoodTestSDK\2.0\", StringComparison.OrdinalIgnoreCase));
Assert.Equal(0, t.ResolvedSDKReferences[0].GetMetadata("FrameworkIdentity").Length);
Assert.Equal(0, t.ResolvedSDKReferences[0].GetMetadata("AppXLocation").Length);
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("SimpleName").Equals("GoodTestSDK", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("Version").Equals("2.0", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("ExpandReferenceAssemblies").Equals("False", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("CopyLocalExpandedReferenceAssemblies").Equals("False", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("TargetedSDKConfiguration").Equals("Retail", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("TargetedSDKArchitecture").Equals("Neutral", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("OriginalItemSpec").Equals(item.ItemSpec, StringComparison.OrdinalIgnoreCase));
// Make sure that if the SDKName does not match the sdk being resolved then it should have no effect.
// Create the engine.
engine = new MockEngine();
t = new ResolveSDKReference();
item = new TaskItem("GoodTestSDK, Version=2.0");
t.SDKReferences = new ITaskItem[] { item };
referenceItem = new TaskItem("RandomWinMD");
referenceItem.SetMetadata("SDKName", "DifferentSDK, Version=2.0");
t.References = new TaskItem[] { referenceItem };
installedSDK = new TaskItem(@"c:\SDKDirectory\GoodTestSDK\2.0\");
installedSDK.SetMetadata("SDKName", "GoodTestSDK, Version=2.0");
t.InstalledSDKs = new ITaskItem[] { installedSDK };
t.BuildEngine = engine;
succeeded = t.Execute();
Assert.True(succeeded);
Assert.Equal(1, t.ResolvedSDKReferences.Length);
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.NoFrameworkIdentitiesFound");
Assert.True(t.ResolvedSDKReferences[0].ItemSpec.Equals(@"c:\SDKDirectory\GoodTestSDK\2.0\", StringComparison.OrdinalIgnoreCase));
Assert.Equal(0, t.ResolvedSDKReferences[0].GetMetadata("FrameworkIdentity").Length);
Assert.Equal(0, t.ResolvedSDKReferences[0].GetMetadata("AppXLocation").Length);
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("ExpandReferenceAssemblies").Equals("True", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("CopyLocalExpandedReferenceAssemblies").Equals("True", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("TargetedSDKConfiguration").Equals("Retail", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("TargetedSDKArchitecture").Equals("Neutral", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[0].GetMetadata("OriginalItemSpec").Equals(item.ItemSpec, StringComparison.OrdinalIgnoreCase));
}
示例7: LogReferenceAndRedistConflictBetweenSdksNowarning
public void LogReferenceAndRedistConflictBetweenSdksNowarning()
{
MockEngine engine = new MockEngine();
GetSDKReferenceFiles t = new GetSDKReferenceFiles();
t.BuildEngine = engine;
t.CacheFileFolderPath = s_cacheDirectory;
ITaskItem item = new TaskItem(s_sdkDirectory);
item.SetMetadata("ExpandReferenceAssemblies", "true");
item.SetMetadata("TargetedSDKConfiguration", "Retail");
item.SetMetadata("TargetedSDKArchitecture", "x86");
item.SetMetadata("CopyRedist", "true");
item.SetMetadata("OriginalItemSpec", "SDKWithManifest, Version=2.0");
ITaskItem item2 = new TaskItem(s_sdkDirectory2);
item2.SetMetadata("ExpandReferenceAssemblies", "true");
item2.SetMetadata("TargetedSDKConfiguration", "Retail");
item2.SetMetadata("TargetedSDKArchitecture", "x86");
item2.SetMetadata("CopyRedist", "true");
item2.SetMetadata("OriginalItemSpec", "AnotherSDK, Version=2.0");
t.ResolvedSDKReferences = new ITaskItem[] { item, item2 };
t.LogReferencesList = false;
t.LogReferenceConflictBetweenSDKsAsWarning = false;
t.LogRedistConflictBetweenSDKsAsWarning = false;
bool success = t.Execute(s_getAssemblyName, s_getAssemblyRuntimeVersion, FileUtilities.FileExistsNoThrow);
Assert.IsTrue(success);
Assert.IsTrue(t.CopyLocalFiles.Length == 0);
Assert.IsTrue(t.References.Length == 8);
Assert.IsTrue(t.RedistFiles.Length == 6);
Assert.IsTrue(engine.Warnings == 0);
string redistWinner = Path.Combine(s_sdkDirectory, "Redist\\Retail\\Neutral\\B.pri");
string redistVictim = Path.Combine(s_sdkDirectory2, "Redist\\Retail\\X86\\B.pri");
string referenceWinner = Path.Combine(s_sdkDirectory, "References\\Retail\\Neutral\\B.WinMD");
string referenceVictim = Path.Combine(s_sdkDirectory2, "References\\Retail\\X86\\B.WinMD");
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.ConflictRedistDifferentSDK", "B.PRI", "SDKWithManifest, Version=2.0", "AnotherSDK, Version=2.0", redistWinner, redistVictim);
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.ConflictReferenceDifferentSDK", "SDKWithManifest, Version=2.0", "AnotherSDK, Version=2.0", referenceWinner, referenceVictim);
}
示例8: ConflictsBetweenSameSDKName
public void ConflictsBetweenSameSDKName()
{
string testDirectoryRoot = Path.Combine(Path.GetTempPath(), "ConflictsBetweenSameSDKName");
string testDirectory = Path.Combine(testDirectoryRoot, "GoodTestSDK\\1.0\\");
string testDirectory2 = Path.Combine(testDirectoryRoot, "GoodTestSDK\\2.0\\");
string testDirectory3 = Path.Combine(testDirectoryRoot, "GoodTestSDK\\3.0\\");
string sdkManifestContents1 =
@"<FileList
Identity = 'GoodTestSDK, Version=1.0'
DisplayName = 'GoodTestSDK 1.0'
ProductFamilyName = 'MyFamily'
SupportsMultipleVersions='Warning'>
</FileList>";
string sdkManifestContents2 =
@"<FileList
Identity = 'GoodTestSDK, Version=2.0'
DisplayName = 'GoodTestSDK 2.0'
ProductFamilyName = 'MyFamily2'
SupportsMultipleVersions='Error'>
</FileList>";
string sdkManifestContents3 =
@"<FileList
Identity = 'GoodTestSDK, Version=3.0'
DisplayName = 'GoodTestSDK 3.0'
ProductFamilyName = 'MyFamily3'
SupportsMultipleVersions='Allow'>
</FileList>";
try
{
string sdkManifestFile = Path.Combine(testDirectory, "SdkManifest.xml");
string sdkManifestFile2 = Path.Combine(testDirectory2, "SdkManifest.xml");
string sdkManifestFile3 = Path.Combine(testDirectory3, "SdkManifest.xml");
if (Directory.Exists(testDirectoryRoot))
{
FileUtilities.DeleteDirectoryNoThrow(testDirectoryRoot, true);
}
Directory.CreateDirectory(testDirectory);
Directory.CreateDirectory(testDirectory2);
Directory.CreateDirectory(testDirectory3);
File.WriteAllText(sdkManifestFile, sdkManifestContents1);
File.WriteAllText(sdkManifestFile2, sdkManifestContents2);
File.WriteAllText(sdkManifestFile3, sdkManifestContents3);
// Create the engine.
MockEngine engine = new MockEngine();
ResolveSDKReference t = new ResolveSDKReference();
ITaskItem item = new TaskItem("GoodTestSDK, Version=1.0");
ITaskItem item2 = new TaskItem("GoodTestSDK, Version=2.0");
ITaskItem item3 = new TaskItem("GoodTestSDK, Version=3.0");
t.SDKReferences = new ITaskItem[] { item, item2, item3 };
t.TargetedSDKArchitecture = "x86";
t.TargetedSDKConfiguration = "Release";
ITaskItem installLocation = new TaskItem(testDirectory);
installLocation.SetMetadata("SDKName", "GoodTestSDK, Version=1.0");
ITaskItem installLocation2 = new TaskItem(testDirectory2);
installLocation2.SetMetadata("SDKName", "GoodTestSDK, Version=2.0");
ITaskItem installLocation3 = new TaskItem(testDirectory3);
installLocation3.SetMetadata("SDKName", "GoodTestSDK, Version=3.0");
t.InstalledSDKs = new ITaskItem[] { installLocation, installLocation2, installLocation3 };
t.BuildEngine = engine;
bool succeeded = t.Execute();
Assert.False(succeeded);
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.CannotReferenceTwoSDKsSameName", "GoodTestSDK, Version=1.0", "\"GoodTestSDK, Version=2.0\", \"GoodTestSDK, Version=3.0\"");
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.CannotReferenceTwoSDKsSameName", "GoodTestSDK, Version=2.0", "\"GoodTestSDK, Version=1.0\", \"GoodTestSDK, Version=3.0\"");
Assert.Equal(1, engine.Warnings);
Assert.Equal(1, engine.Errors);
Assert.True(t.ResolvedSDKReferences[0].ItemSpec.Equals(testDirectory, StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[1].ItemSpec.Equals(testDirectory2, StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedSDKReferences[2].ItemSpec.Equals(testDirectory3, StringComparison.OrdinalIgnoreCase));
}
finally
{
if (Directory.Exists(testDirectoryRoot))
{
FileUtilities.DeleteDirectoryNoThrow(testDirectoryRoot, true);
}
}
}
示例9: ConflictBetweenCopyLocalDependenciesRegress444809
public void ConflictBetweenCopyLocalDependenciesRegress444809()
{
ResolveAssemblyReference t = new ResolveAssemblyReference();
MockEngine engine = new MockEngine();
t.BuildEngine = engine;
t.Assemblies = new ITaskItem[] {
new TaskItem("A, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=null"), new TaskItem("C, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=null")
};
t.SearchPaths = new string[] {
@"c:\Regress444809", @"c:\Regress444809\v2"
};
t.TargetFrameworkDirectories = new string[] { @"c:\WINNT\Microsoft.NET\Framework\v2.0.MyVersion" };
bool result = Execute(t);
ResourceManager resources = new ResourceManager("Microsoft.Build.Tasks.Strings", Assembly.GetExecutingAssembly());
//Unresolved primary reference with itemspec "A, Version=20.0.0.0, Culture=Neutral, PublicKeyToken=null".
engine.AssertLogContainsMessageFromResource(resourceDelegate, "ResolveAssemblyReference.ReferenceDependsOn", "A, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=null", @"c:\Regress444809\A.dll");
engine.AssertLogContainsMessageFromResource(resourceDelegate, "ResolveAssemblyReference.ReferenceDependsOn", "A, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=null", @"c:\Regress444809\v2\A.dll");
engine.AssertLogContainsMessageFromResource(resourceDelegate, "ResolveAssemblyReference.PrimarySourceItemsForReference", @"c:\Regress444809\C.dll");
engine.AssertLogContainsMessageFromResource(resourceDelegate, "ResolveAssemblyReference.PrimarySourceItemsForReference", @"c:\Regress444809\B.dll");
engine.AssertLogContainsMessageFromResource(resourceDelegate, "ResolveAssemblyReference.PrimarySourceItemsForReference", @"c:\Regress444809\v2\a.dll");
}
示例10: VerifyProcessArchitectureMismatchError
public void VerifyProcessArchitectureMismatchError()
{
ResolveAssemblyReference t = new ResolveAssemblyReference();
MockEngine mockEngine = new MockEngine();
t.BuildEngine = mockEngine;
t.Assemblies = new ITaskItem[] { new TaskItem("A"), new TaskItem("B") };
t.SearchPaths = new string[] { @"{Registry:Software\Regress714052,v2.0.0,X86}" };
t.TargetProcessorArchitecture = "MSIL";
t.WarnOrErrorOnTargetArchitectureMismatch = "Error";
Execute(t);
Assert.Equal(2, t.ResolvedFiles.Length);
Assert.Equal(0, mockEngine.Warnings);
Assert.Equal(2, mockEngine.Errors);
mockEngine.AssertLogContainsMessageFromResource(resourceDelegate, "ResolveAssemblyReference.MismatchBetweenTargetedAndReferencedArch", "MSIL", @"A", "X86");
mockEngine.AssertLogContainsMessageFromResource(resourceDelegate, "ResolveAssemblyReference.MismatchBetweenTargetedAndReferencedArch", "MSIL", @"B", "X86");
AssertNoCase(@"{Registry:Software\Regress714052,v2.0.0,X86}", t.ResolvedFiles[0].GetMetadata("ResolvedFrom"));
}
示例11: LogNoWarningForRedistConflictWithinSDK
public void LogNoWarningForRedistConflictWithinSDK()
{
MockEngine engine = new MockEngine();
GetSDKReferenceFiles t = new GetSDKReferenceFiles();
t.BuildEngine = engine;
t.CacheFileFolderPath = s_cacheDirectory;
ITaskItem item = new TaskItem(s_sdkDirectory);
item.SetMetadata("ExpandReferenceAssemblies", "false");
item.SetMetadata("TargetedSDKConfiguration", "Retail");
item.SetMetadata("TargetedSDKArchitecture", "x86");
item.SetMetadata("CopyRedist", "true");
item.SetMetadata("OriginalItemSpec", "SDKWithManifest, Version=2.0");
t.ResolvedSDKReferences = new ITaskItem[] { item };
bool success = t.Execute(s_getAssemblyName, s_getAssemblyRuntimeVersion, FileUtilities.FileExistsNoThrow);
Assert.IsTrue(success);
Assert.IsTrue(t.RedistFiles.Length == 5);
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.ConflictRedistSameSDK", "A.dll", "SDKWithManifest, Version=2.0", "Redist\\Retail\\X86\\A.dll", "Redist\\CommonConfiguration\\Neutral\\A.dll");
Assert.AreEqual(0, engine.Warnings);
}
示例12: VerifyRedistFilesLogRedistTrueAmd64
public void VerifyRedistFilesLogRedistTrueAmd64()
{
MockEngine engine = new MockEngine();
GetSDKReferenceFiles t = new GetSDKReferenceFiles();
t.BuildEngine = engine;
t.CacheFileFolderPath = s_cacheDirectory;
ITaskItem item = new TaskItem(s_sdkDirectory);
item.SetMetadata("TargetedSDKConfiguration", "Retail");
item.SetMetadata("TargetedSDKArchitecture", "amd64");
item.SetMetadata("CopyRedist", "true");
item.SetMetadata("OriginalItemSpec", "SDKWithManifest, Version=2.0");
t.ResolvedSDKReferences = new ITaskItem[] { item };
bool success = t.Execute(s_getAssemblyName, s_getAssemblyRuntimeVersion, FileUtilities.FileExistsNoThrow);
Assert.IsTrue(success);
Assert.IsTrue(t.CopyLocalFiles.Length == 0);
Assert.IsTrue(t.RedistFiles.Length == 5);
Assert.IsTrue(t.RedistFiles[0].ItemSpec.IndexOf("x64", StringComparison.OrdinalIgnoreCase) > -1);
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingRedistFile", t.RedistFiles[0].ItemSpec.Replace(t.RedistFiles[0].GetMetadata("SDKRootPath"), String.Empty), t.RedistFiles[0].GetMetadata("TargetPath"));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingRedistFile", t.RedistFiles[1].ItemSpec.Replace(t.RedistFiles[1].GetMetadata("SDKRootPath"), String.Empty), t.RedistFiles[1].GetMetadata("TargetPath"));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingRedistFile", t.RedistFiles[2].ItemSpec.Replace(t.RedistFiles[2].GetMetadata("SDKRootPath"), String.Empty), t.RedistFiles[2].GetMetadata("TargetPath"));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingRedistFile", t.RedistFiles[3].ItemSpec.Replace(t.RedistFiles[3].GetMetadata("SDKRootPath"), String.Empty), t.RedistFiles[3].GetMetadata("TargetPath"));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingRedistFile", t.RedistFiles[4].ItemSpec.Replace(t.RedistFiles[4].GetMetadata("SDKRootPath"), String.Empty), t.RedistFiles[4].GetMetadata("TargetPath"));
}
示例13: VerifyReferencesLoggedX64
public void VerifyReferencesLoggedX64()
{
MockEngine engine = new MockEngine();
GetSDKReferenceFiles t = new GetSDKReferenceFiles();
t.BuildEngine = engine;
t.CacheFileFolderPath = s_cacheDirectory;
ITaskItem item = new TaskItem(s_sdkDirectory);
item.SetMetadata("ExpandReferenceAssemblies", "true");
item.SetMetadata("TargetedSDKConfiguration", "Retail");
item.SetMetadata("TargetedSDKArchitecture", "x64");
item.SetMetadata("DisplayName", "SDKWithManifestDisplayName");
item.SetMetadata("OriginalItemSpec", "SDKWithManifest, Version=2.0");
t.ResolvedSDKReferences = new ITaskItem[] { item };
bool success = t.Execute(s_getAssemblyName, s_getAssemblyRuntimeVersion, FileUtilities.FileExistsNoThrow);
Assert.IsTrue(success);
Assert.IsTrue(t.CopyLocalFiles.Length == 0);
Assert.IsTrue(t.References.Length == 8);
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingReference", t.References[0].ItemSpec.Replace(t.References[0].GetMetadata("SDKRootPath"), String.Empty));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingReference", t.References[1].ItemSpec.Replace(t.References[1].GetMetadata("SDKRootPath"), String.Empty));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingReference", t.References[2].ItemSpec.Replace(t.References[2].GetMetadata("SDKRootPath"), String.Empty));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingReference", t.References[3].ItemSpec.Replace(t.References[3].GetMetadata("SDKRootPath"), String.Empty));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingReference", t.References[4].ItemSpec.Replace(t.References[4].GetMetadata("SDKRootPath"), String.Empty));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingReference", t.References[5].ItemSpec.Replace(t.References[5].GetMetadata("SDKRootPath"), String.Empty));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingReference", t.References[6].ItemSpec.Replace(t.References[6].GetMetadata("SDKRootPath"), String.Empty));
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.AddingReference", t.References[7].ItemSpec.Replace(t.References[7].GetMetadata("SDKRootPath"), String.Empty));
Assert.IsTrue(t.References[0].ItemSpec.IndexOf("x64", StringComparison.OrdinalIgnoreCase) > -1);
Assert.IsTrue(Path.GetFileName(t.References[0].ItemSpec).Equals("A.winmd", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[0].GetMetadata("WinMDFile").Equals("true", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[0].GetMetadata("ReferenceGrouping").Equals("SDKWithManifest, Version=2.0", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[0].GetMetadata("WinMDFileType").Equals("Managed", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[0].GetMetadata("ReferenceGroupingDisplayName").Equals("SDKWithManifestDisplayName", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[0].GetMetadata("CopyLocal").Equals("false", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[0].GetMetadata("OriginalItemSpec").Equals("SDkWithManifest, Version=2.0", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[0].GetMetadata("ResolvedFrom").Equals("GetSDKReferenceFiles", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(Path.GetFileName(t.References[4].ItemSpec).Equals("E.dll", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[4].GetMetadata("WinMDFile").Equals("false", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[4].GetMetadata("WinMDFileType").Length == 0);
Assert.IsTrue(t.References[4].GetMetadata("CopyLocal").Equals("false", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[4].GetMetadata("OriginalItemSpec").Equals("SDkWithManifest, Version=2.0", StringComparison.OrdinalIgnoreCase));
Assert.IsTrue(t.References[4].GetMetadata("ResolvedFrom").Equals("GetSDKReferenceFiles", StringComparison.OrdinalIgnoreCase));
}
示例14: LogErrorWhenNoArchitecture
public void LogErrorWhenNoArchitecture()
{
MockEngine engine = new MockEngine();
GetSDKReferenceFiles t = new GetSDKReferenceFiles();
t.BuildEngine = engine;
t.CacheFileFolderPath = s_cacheDirectory;
ITaskItem item = new TaskItem(s_sdkDirectory);
item.SetMetadata("ExpandReferenceAssemblies", "true");
item.SetMetadata("TargetedSDKConfiguration", "Debug");
item.SetMetadata("TargetedSDKArchitecture", "");
item.SetMetadata("OriginalItemSpec", "SDKWithManifest, Version=2.0");
t.ResolvedSDKReferences = new ITaskItem[] { item };
bool success = t.Execute(s_getAssemblyName, s_getAssemblyRuntimeVersion, FileUtilities.FileExistsNoThrow);
Assert.IsFalse(success);
engine.AssertLogContainsMessageFromResource(s_resourceDelegate, "GetSDKReferenceFiles.CannotHaveEmptyTargetArchitecture", s_sdkDirectory);
}
示例15: MixOfResolvedAndUnResolved
public void MixOfResolvedAndUnResolved()
{
// Create the engine.
MockEngine engine = new MockEngine();
ResolveSDKReference t = new ResolveSDKReference();
ITaskItem item = new TaskItem("GoodTestSDK, Version=2.0");
ITaskItem item2 = new TaskItem("RandomSDK, Version=2.0");
t.SDKReferences = new ITaskItem[] { item, item2 };
ITaskItem installedSDK = new TaskItem(@"c:\SDKDirectory\GoodTestSDK\2.0\");
installedSDK.SetMetadata("SDKName", "GoodTestSDK, Version=2.0");
t.InstalledSDKs = new ITaskItem[] { installedSDK };
t.BuildEngine = engine;
t.LogResolutionErrorsAsWarnings = true;
bool succeeded = t.Execute();
Assert.True(succeeded);
Assert.Equal(1, t.ResolvedSDKReferences.Length);
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.NoFrameworkIdentitiesFound");
Assert.True(t.ResolvedSDKReferences[0].ItemSpec.Equals(@"c:\SDKDirectory\GoodTestSDK\2.0\", StringComparison.OrdinalIgnoreCase));
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.FoundSDK", @"c:\SDKDirectory\GoodTestSDK\2.0\");
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.CouldNotResolveSDK", "RandomSDK, Version=2.0");
}