diff --git a/documentation/wiki/ResolveAssemblyReference.md b/documentation/wiki/ResolveAssemblyReference.md index 10041d58494..27241f5dbd5 100644 --- a/documentation/wiki/ResolveAssemblyReference.md +++ b/documentation/wiki/ResolveAssemblyReference.md @@ -162,6 +162,6 @@ By default, there are ten locations RAR will search (four if using the .NET SDK) ## There was a conflict -A common situation is MSBuild gives a warning about different versions of the same assembly being used by different references. The solution often involves adding a binding redirect to the app.config file. +A common situation is MSBuild gives a warning about different versions of the same assembly being used by different references. The solution often involves adding a binding redirect to the app.config file. A useful way to investigate these conflicts is to search in MSBuild Structured Log Viewer for "There was a conflict". It will show you detailed information about which references needed which versions of the assembly in question. diff --git a/src/Shared/FileSystem/IFileSystem.cs b/src/Shared/FileSystem/IFileSystem.cs index 3b08f7ff451..52d37af1d08 100644 --- a/src/Shared/FileSystem/IFileSystem.cs +++ b/src/Shared/FileSystem/IFileSystem.cs @@ -16,7 +16,7 @@ namespace Microsoft.Build.Shared.FileSystem * Any new code should depend on MSBuildFileSystemBase instead of IFileSystem, if possible. * * MSBuild uses IFileSystem internally and adapts MSBuildFileSystemBase instances received from the outside to IFileSystem. - * Ideally there should be only one, public interface. However, such an interface would need to be put into the + * Ideally there should be only one, public interface. However, such an interface would need to be put into the * Microsoft.Build.Framework assembly, but that assembly cannot take new types because it breaks some old version of Nuget.exe. * IFileSystem cannot be deleted for the same reason. */ diff --git a/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs b/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs index beec4a1d226..0a520b9f82b 100644 --- a/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs +++ b/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs @@ -3306,7 +3306,7 @@ public void ParentAssemblyResolvedFromAForGac() Assert.Single(parentReferenceFolders); Assert.Equal(reference2.ResolvedSearchPath, parentReferenceFolders[0]); } - + /// /// Generate a fake reference which has been resolved from the gac. We will use it to verify the creation of the exclusion list. /// @@ -3652,7 +3652,7 @@ public void ConflictBetweenCopyLocalDependenciesRegress444809UnResolvedPrimaryRe /// References - D, version 1 /// /// Both D1 and D2 are CopyLocal. This is a warning because D1 is a lower version - /// than both D2 so that can't unify. These means that eventually when + /// than both D2 so that can't unify. These means that eventually when /// they're copied to the output directory they'll conflict. /// [Fact] @@ -5982,7 +5982,7 @@ public void RedistListNoAssembliesinRedistList() [Fact] public void RedistListGenerateBlackListGoodListsSubsetIsSubsetOfRedist() { - string redistFile = CreateGenericRedistList(); + string redistFile = CreateGenericRedistList(); string goodSubsetFile = FileUtilities.GetTemporaryFile(); try { diff --git a/src/Tasks.UnitTests/AssemblyDependency/Perf.cs b/src/Tasks.UnitTests/AssemblyDependency/Perf.cs index 36e646d5526..e5eddbe032a 100644 --- a/src/Tasks.UnitTests/AssemblyDependency/Perf.cs +++ b/src/Tasks.UnitTests/AssemblyDependency/Perf.cs @@ -77,7 +77,7 @@ public void DependeeDirectoryIsProbedForDependency() bool succeeded = Execute(t); Assert.True(succeeded); - + uniqueFileExists[s_dependsOnNuGet_NWinMdPath].ShouldBe(1); uniqueFileExists[s_dependsOnNuGet_NDllPath].ShouldBe(1); uniqueFileExists[s_dependsOnNuGet_NExePath].ShouldBe(1); @@ -109,7 +109,7 @@ public void DependeeDirectoryShouldNotBeProbedForDependencyWhenDependencyResolve new Dictionary { {"ExternallyResolved", "true"} - }) + }) }; ResolveAssemblyReference t = new ResolveAssemblyReference(); diff --git a/src/Tasks/AssemblyDependency/Reference.cs b/src/Tasks/AssemblyDependency/Reference.cs index 242e6a95380..db5d30bda9d 100644 --- a/src/Tasks/AssemblyDependency/Reference.cs +++ b/src/Tasks/AssemblyDependency/Reference.cs @@ -113,7 +113,7 @@ sealed internal class Reference private bool _isManagedWinMDFile; /// - /// The imageruntime version for this reference. + /// The imageruntime version for this reference. /// private string _imageRuntimeVersion; @@ -358,7 +358,7 @@ internal bool ResolvedFromGac /// /// Determines if a given reference or its parent primary references have specific version metadata set to true. - /// If anyParentHasMetadata is set to true then we will return true if any parent primary reference has the specific version metadata set to true, + /// If anyParentHasMetadata is set to true then we will return true if any parent primary reference has the specific version metadata set to true, /// if the value is false we will return true ONLY if all parent primary references have the metadata set to true. /// internal bool CheckForSpecificVersionMetadataOnParentsReference(bool anyParentHasMetadata) @@ -373,7 +373,7 @@ internal bool CheckForSpecificVersionMetadataOnParentsReference(bool anyParentHa } else { - // Go through all of the primary items which lead to this dependency, if they all have specificVersion set to true then + // Go through all of the primary items which lead to this dependency, if they all have specificVersion set to true then // hasSpecificVersionMetadata will be true. If any item has the metadata set to false or not set then the value will be false. foreach (ITaskItem item in GetSourceItems()) { @@ -589,7 +589,7 @@ internal string FullPathWithoutExtension internal string AssemblyFolderKey { get; set; } = String.Empty; /// - /// Whether this assembly came from the project. If 'false' then this reference was deduced + /// Whether this assembly came from the project. If 'false' then this reference was deduced /// through the reference resolution process. /// /// 'true' if this reference is a primary assembly. @@ -629,7 +629,7 @@ internal ITaskItem PrimarySourceItem /// /// If 'true' then the path that this item points to is known to be a bad image. - /// This item shouldn't be passed to compilers and so forth. + /// This item shouldn't be passed to compilers and so forth. /// /// 'true' if this reference points to a bad image. internal bool IsBadImage { get; private set; } = false; @@ -721,7 +721,7 @@ internal HashSet RemappedAssemblyNames() } /// - /// Add a new version number for a version of this reference + /// Add a new version number for a version of this reference /// internal void AddPreUnificationVersion(String referencePath, Version version, UnificationReason reason) { @@ -819,7 +819,7 @@ internal void AddAssembliesConsideredAndRejected(List } /// - /// Returns a collection of strings. Each string is the full path to an assembly that was + /// Returns a collection of strings. Each string is the full path to an assembly that was /// considered for resolution but then rejected because it wasn't a complete match. /// internal List AssembliesConsideredAndRejected { get; private set; } = new List(); @@ -835,7 +835,7 @@ internal void AddAssembliesConsideredAndRejected(List internal FrameworkName FrameworkNameAttribute { get; set; } /// - /// Indicates that the reference is primary and has ExternallyResolved=true metadata to denote that + /// Indicates that the reference is primary and has ExternallyResolved=true metadata to denote that /// it was resolved by an external system (commonly from nuget). Such a system has already provided a /// resolved closure as primary references and therefore we can skip the expensive closure walk. /// @@ -846,7 +846,7 @@ internal void AddAssembliesConsideredAndRejected(List /// /// For example, if 'sourceReference' is MyAssembly.dll then a dependent assembly file /// might be en\MyAssembly.resources.dll - /// + /// /// Assembly references do not have their own dependencies, therefore they are /// /// The source reference that this reference will be dependent on @@ -871,7 +871,7 @@ internal void MakeDependentAssemblyReference(Reference sourceReference) } /// - /// Make this reference a primary assembly reference. + /// Make this reference a primary assembly reference. /// This is a refrence that is an assembly and is primary. /// /// The source item. @@ -1144,7 +1144,7 @@ public override string ToString() } /// - /// There are a number of properties which are set when we generate exclusion lists and it is useful to have this information on the references so that + /// There are a number of properties which are set when we generate exclusion lists and it is useful to have this information on the references so that /// the correct reasons can be logged for these references being in the black list. /// internal class ExclusionListProperties diff --git a/src/Tasks/AssemblyDependency/ResolveAssemblyReference.cs b/src/Tasks/AssemblyDependency/ResolveAssemblyReference.cs index 85a5643f5c9..706749d4953 100644 --- a/src/Tasks/AssemblyDependency/ResolveAssemblyReference.cs +++ b/src/Tasks/AssemblyDependency/ResolveAssemblyReference.cs @@ -1061,7 +1061,7 @@ List generalResolutionExceptions { /* PERF NOTE: The Silent flag turns off logging completely from the task side. This means - we avoid the String.Formats that would normally occur even if the verbosity was set to + we avoid the String.Formats that would normally occur even if the verbosity was set to quiet at the engine level. */ if (!Silent) @@ -1119,7 +1119,7 @@ quiet at the engine level. string details = string.Empty; if (logWarning) { - // This warning is logged regardless of AutoUnify since it means a conflict existed where the reference + // This warning is logged regardless of AutoUnify since it means a conflict existed where the reference // chosen was not the conflict victor in a version comparison. In other words, the victor was older. Log.LogWarningWithCodeFromResources("ResolveAssemblyReference.FoundConflicts", assemblyName.Name, output); } @@ -1164,15 +1164,15 @@ quiet at the engine level. { foreach (AssemblyNameExtension conflictVictim in conflictVictims) { - // Make note we only output a conflict suggestion if the reference has at - // least one conflict victim - that way we don't suggest redirects to + // Make note we only output a conflict suggestion if the reference has at + // least one conflict victim - that way we don't suggest redirects to // assemblies that don't exist at runtime. For example, this avoids us suggesting // a redirect from Foo 1.0.0.0 -> 2.0.0.0 in the following: // // Project -> Foo, 1.0.0.0 // Project -> Bar -> Foo, 2.0.0.0 // - // Above, Foo, 1.0.0.0 wins out and is copied to the output directory because + // Above, Foo, 1.0.0.0 wins out and is copied to the output directory because // it is a primary reference. foundAtLeastOneValidBindingRedirect = true; @@ -2227,7 +2227,7 @@ ReadMachineTypeFromPEHeader readMachineTypeFromPEHeader if (targetingProfile) { // When targeting a profile we want the redist list to be the full framework redist list, since this is what should be used - // when unifying assemblies ect. + // when unifying assemblies ect. AssemblyTableInfo[] fullRedistAssemblyTableInfo = null; RedistList fullFrameworkRedistList = null; @@ -2403,7 +2403,7 @@ ReadMachineTypeFromPEHeader readMachineTypeFromPEHeader dependencyTable.RemoveReferencesMarkedForExclusion(true /* Remove the reference and do not warn*/, subsetOrProfileName); } - // Based on the closure, get a table of ideal remappings needed to + // Based on the closure, get a table of ideal remappings needed to // produce zero conflicts. dependencyTable.ResolveConflicts ( @@ -2464,8 +2464,8 @@ out _copyLocalFiles // If we're not finding dependencies, then don't suggest redirects (they're only about dependencies). if (FindDependencies) { - // Build the table of suggested redirects. If we're auto-unifying, we want to output all the - // assemblies that we auto-unified so that GenerateBindingRedirects can consume them, + // Build the table of suggested redirects. If we're auto-unifying, we want to output all the + // assemblies that we auto-unified so that GenerateBindingRedirects can consume them, // not just the required ones for build to succeed List remappings = AutoUnify ? autoUnifiedRemappedAssemblies : idealAssemblyRemappings; List remappedReferences = AutoUnify ? autoUnifiedRemappedAssemblyReferences : idealAssemblyRemappingsIdentities; @@ -2559,7 +2559,7 @@ out _copyLocalFiles { // Its pretty hard to get here, you need an assembly that contains a valid reference // to a dependent assembly that, in turn, throws a FileLoadException during GetAssemblyName. - // Still it happened once, with an older version of the CLR. + // Still it happened once, with an older version of the CLR. // ...falling through and relying on the targetAssemblyName==null behavior below... } @@ -2636,7 +2636,7 @@ private AssemblyNameExtension[] GetDependencies(Reference resolvedReference, Fil { try { - // in case of P2P that have not build the reference can be resolved but file does not exist on disk. + // in case of P2P that have not build the reference can be resolved but file does not exist on disk. if (fileExists(resolvedReference.FullPath)) { FrameworkNameVersioning frameworkName; @@ -2910,7 +2910,7 @@ private bool ShouldUseSubsetExclusionList() return false; } - // No subset names were passed in to search for in the targetframework directories and no installed subset tables were provided, we have nothing to use to + // No subset names were passed in to search for in the targetframework directories and no installed subset tables were provided, we have nothing to use to // generate the exclusion list with, so do not continue. if (_targetFrameworkSubsets.Length == 0 && _installedAssemblySubsetTables.Length == 0) { diff --git a/src/Tasks/Microsoft.CSharp.CrossTargeting.targets b/src/Tasks/Microsoft.CSharp.CrossTargeting.targets index 62d284b87e2..8407654f98d 100644 --- a/src/Tasks/Microsoft.CSharp.CrossTargeting.targets +++ b/src/Tasks/Microsoft.CSharp.CrossTargeting.targets @@ -9,7 +9,6 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and Copyright (C) Microsoft Corporation. All rights reserved. *********************************************************************************************** --> - @@ -22,4 +21,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.CSharp.CurrentVersion.targets b/src/Tasks/Microsoft.CSharp.CurrentVersion.targets index 6e68b0dd542..772d1bbcf8e 100644 --- a/src/Tasks/Microsoft.CSharp.CurrentVersion.targets +++ b/src/Tasks/Microsoft.CSharp.CurrentVersion.targets @@ -1,4 +1,4 @@ - - @@ -370,4 +369,4 @@ using System.Reflection%3b - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.CSharp.targets b/src/Tasks/Microsoft.CSharp.targets index 9aceb4e3813..eda6bea88ab 100644 --- a/src/Tasks/Microsoft.CSharp.targets +++ b/src/Tasks/Microsoft.CSharp.targets @@ -1,4 +1,4 @@ - - - - - - $(MSBuildToolsPath)\Microsoft.CSharp.CrossTargeting.targets - - - - - $(MSBuildToolsPath)\Microsoft.CSharp.CurrentVersion.targets - - - + + + + $(MSBuildToolsPath)\Microsoft.CSharp.CrossTargeting.targets + + + + + $(MSBuildToolsPath)\Microsoft.CSharp.CurrentVersion.targets + + + - + - + - + - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Common.CrossTargeting.targets b/src/Tasks/Microsoft.Common.CrossTargeting.targets index 13d74133003..5096427a963 100644 --- a/src/Tasks/Microsoft.Common.CrossTargeting.targets +++ b/src/Tasks/Microsoft.Common.CrossTargeting.targets @@ -1,4 +1,4 @@ - - @@ -221,4 +220,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Common.CurrentVersion.targets b/src/Tasks/Microsoft.Common.CurrentVersion.targets index 7b51494d4ed..7819000499b 100644 --- a/src/Tasks/Microsoft.Common.CurrentVersion.targets +++ b/src/Tasks/Microsoft.Common.CurrentVersion.targets @@ -1,4 +1,4 @@ - - @@ -6671,4 +6670,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Common.overridetasks b/src/Tasks/Microsoft.Common.overridetasks index c63abe19d52..6032f7ccf9a 100644 --- a/src/Tasks/Microsoft.Common.overridetasks +++ b/src/Tasks/Microsoft.Common.overridetasks @@ -1,39 +1,40 @@ - + - + - - + - + - - + - - + + - - + + - + + - - + - - + + - - + + - - - - - + + - + + + + + + + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Common.props b/src/Tasks/Microsoft.Common.props index 4385c405f61..a14fea277c2 100644 --- a/src/Tasks/Microsoft.Common.props +++ b/src/Tasks/Microsoft.Common.props @@ -1,4 +1,4 @@ - - @@ -21,9 +20,9 @@ Copyright (C) Microsoft Corporation. All rights reserved. + Determine the path to the directory build props file if the user did not disable $(ImportDirectoryBuildProps) and + they did not already specify an absolute path to use via $(DirectoryBuildPropsPath) + --> <_DirectoryBuildPropsFile Condition="'$(_DirectoryBuildPropsFile)' == ''">Directory.Build.props <_DirectoryBuildPropsBasePath Condition="'$(_DirectoryBuildPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildPropsFile)')) @@ -33,17 +32,17 @@ Copyright (C) Microsoft Corporation. All rights reserved. + Each package management system should use a unique moniker to avoid collisions. It is a wild-card import so the package + management system can write out multiple files but the order of the import is alphabetic because MSBuild sorts the list. + --> + The declaration of $(BaseIntermediateOutputPath) had to be moved up from Microsoft.Common.CurrentVersion.targets + in order for the $(MSBuildProjectExtensionsPath) to use it as a default. + --> obj\ $(BaseIntermediateOutputPath)\ <_InitialBaseIntermediateOutputPath>$(BaseIntermediateOutputPath) @@ -53,7 +52,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. Import paths that are relative default to be relative to the importing file. However, since MSBuildExtensionsPath defaults to BaseIntermediateOutputPath we expect it to be relative to the project directory. So if the path is relative it needs to be made absolute based on the project directory. - --> + --> $([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', '$(MSBuildProjectExtensionsPath)')) $(MSBuildProjectExtensionsPath)\ true @@ -63,12 +62,13 @@ Copyright (C) Microsoft Corporation. All rights reserved. + Wildcard imports come from $(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ directory. + This is very similar to the same extension point used in Microsoft.Common.targets, which is located in + the $(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ directory. + + Unfortunately, there is already a file named "Microsoft.Common.props" in this directory, + so we have to have a slightly different directory name to hold extensions. + --> @@ -80,8 +80,8 @@ Copyright (C) Microsoft Corporation. All rights reserved. + Microsoft.Common.props itself, or whether it has been imported previously, + e.g. by the project itself. --> true @@ -104,8 +104,8 @@ Copyright (C) Microsoft Corporation. All rights reserved. + Import NuGet.props file. + --> $([MSBuild]::IsRunningFromVisualStudio()) $([MSBuild]::GetToolsDirectory32())\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.props @@ -130,4 +130,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. true - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Common.targets b/src/Tasks/Microsoft.Common.targets index a2e63d0c48d..e4f83cd7640 100644 --- a/src/Tasks/Microsoft.Common.targets +++ b/src/Tasks/Microsoft.Common.targets @@ -1,4 +1,4 @@ - - $(MSBuildToolsPath)\Microsoft.Common.CurrentVersion.targets + + --> true @@ -39,9 +39,9 @@ Copyright (C) Microsoft Corporation. All rights reserved. + Determine the path to the directory build targets file if the user did not disable $(ImportDirectoryBuildTargets) and + they did not already specify an absolute path to use via $(DirectoryBuildTargetsPath) + --> <_DirectoryBuildTargetsFile Condition="'$(_DirectoryBuildTargetsFile)' == ''">Directory.Build.targets <_DirectoryBuildTargetsBasePath Condition="'$(_DirectoryBuildTargetsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildTargetsFile)')) @@ -50,4 +50,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Common.tasks b/src/Tasks/Microsoft.Common.tasks index 3be5690920c..8bcaa32b507 100644 --- a/src/Tasks/Microsoft.Common.tasks +++ b/src/Tasks/Microsoft.Common.tasks @@ -1,108 +1,109 @@ - + - + - - + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + - - - - - - - - - - - - - - + + + + - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + - - - - + + + + + + + + + + + - + + + + + + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Data.Entity.targets b/src/Tasks/Microsoft.Data.Entity.targets index 80d43afd2be..6ebf8cdb6ea 100644 --- a/src/Tasks/Microsoft.Data.Entity.targets +++ b/src/Tasks/Microsoft.Data.Entity.targets @@ -1,15 +1,15 @@ - + - + Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that + consumers of them are not broken, but since the targets files themselves are still part of .NET, + the shim will internally simply redirect to the real copy of the targets file in the .NET Framework. + --> - + - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Managed.After.targets b/src/Tasks/Microsoft.Managed.After.targets index a5dfd1da0ff..a10bf7c0784 100644 --- a/src/Tasks/Microsoft.Managed.After.targets +++ b/src/Tasks/Microsoft.Managed.After.targets @@ -1,4 +1,4 @@ - - - - - TargetFramework - TargetFrameworks - + + + TargetFramework + TargetFrameworks + - - true - + + true + - - - - + + + + @@ -69,4 +68,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Managed.Before.targets b/src/Tasks/Microsoft.Managed.Before.targets index d8bde6bb9a2..01f2f5ee3de 100644 --- a/src/Tasks/Microsoft.Managed.Before.targets +++ b/src/Tasks/Microsoft.Managed.Before.targets @@ -1,4 +1,4 @@ - - - - - true - + + + true + - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Managed.targets b/src/Tasks/Microsoft.Managed.targets index 25d1e7528c2..49696addc04 100644 --- a/src/Tasks/Microsoft.Managed.targets +++ b/src/Tasks/Microsoft.Managed.targets @@ -1,16 +1,15 @@ - - - + <_RecursiveTargetForContentCopying>GetCopyToOutputDirectoryItems <_RecursiveTargetForContentCopying Condition=" '$(MSBuildCopyContentTransitively)' == 'false' ">_GetCopyToOutputDirectoryItemsFromThisProject @@ -18,4 +17,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.NET.props b/src/Tasks/Microsoft.NET.props index 41f25145c5d..b983647d821 100644 --- a/src/Tasks/Microsoft.NET.props +++ b/src/Tasks/Microsoft.NET.props @@ -1,4 +1,4 @@ - - + --> $(SDK40ToolsPath) @@ -31,7 +30,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. SetHighEntropyVA Set HighEntropyVA according to the TargetFramework ============================================================ - --> + --> true @@ -41,4 +40,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. false - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.NETFramework.CurrentVersion.props b/src/Tasks/Microsoft.NETFramework.CurrentVersion.props index f08677fe9b8..0f03f04dfef 100644 --- a/src/Tasks/Microsoft.NETFramework.CurrentVersion.props +++ b/src/Tasks/Microsoft.NETFramework.CurrentVersion.props @@ -1,4 +1,4 @@ - - @@ -40,9 +39,9 @@ Copyright (C) Microsoft Corporation. All rights reserved. <_FullFrameworkReferenceAssemblyPaths Condition="Exists('$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\RedistList\FrameworkList.xml')">$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0 @@ -60,7 +59,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. $(Registry:HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework@InstallRoot) <_DeploymentSignClickOnceManifests Condition="'$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.0' or '$(SignManifests)' == 'true'">true + a project targeting 2.0 to 3.5 the system.core reference is not added, therefore we need to add it automatically --> true System.Core;$(AdditionalExplicitAssemblyReferences) @@ -71,15 +70,15 @@ Copyright (C) Microsoft Corporation. All rights reserved. Get the paths for the .NET Framework tools and sdk tools directories. This does not need to be a target since all of the values are availiable at project evaluation time. ============================================================ - --> + --> true $(MSBuildFrameworkToolsRoot)\v3.5 $(SDK35ToolsPath) + When a new windows SDK revs they will inplace update the location pointed to by this property. When a new sdk is release this target will have to be + revised along with another toolsversion. --> v2.0.50727 v$(MSBuildRuntimeVersion) @@ -119,10 +118,10 @@ Copyright (C) Microsoft Corporation. All rights reserved. + And before the ImportAfter\* , so users can override it--> - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.NETFramework.CurrentVersion.targets b/src/Tasks/Microsoft.NETFramework.CurrentVersion.targets index 6145e82de80..985f36bfbe9 100644 --- a/src/Tasks/Microsoft.NETFramework.CurrentVersion.targets +++ b/src/Tasks/Microsoft.NETFramework.CurrentVersion.targets @@ -1,4 +1,4 @@ - - @@ -30,7 +29,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. DependsOnTargets="$(GetFrameworkPathsDependsOn)"> + now only depend on statically availiable values--> <_TargetFramework40DirectoryItem Include="$(MSBuildFrameworkToolsRoot)v4.0.30319"/> @@ -134,4 +133,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.NETFramework.props b/src/Tasks/Microsoft.NETFramework.props index 805a6081510..a66a0d25e2b 100644 --- a/src/Tasks/Microsoft.NETFramework.props +++ b/src/Tasks/Microsoft.NETFramework.props @@ -1,4 +1,4 @@ - - $(MSBuildToolsPath)\Microsoft.NETFramework.CurrentVersion.props + - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.NETFramework.targets b/src/Tasks/Microsoft.NETFramework.targets index 4d17decc15c..d0ff2425a82 100644 --- a/src/Tasks/Microsoft.NETFramework.targets +++ b/src/Tasks/Microsoft.NETFramework.targets @@ -1,4 +1,4 @@ - - $(MSBuildToolsPath)\Microsoft.NETFramework.CurrentVersion.targets - - + + + \ No newline at end of file diff --git a/src/Tasks/Microsoft.ServiceModel.targets b/src/Tasks/Microsoft.ServiceModel.targets index 41d4b1f3d59..f65d5c6e3f9 100644 --- a/src/Tasks/Microsoft.ServiceModel.targets +++ b/src/Tasks/Microsoft.ServiceModel.targets @@ -1,15 +1,15 @@ - + - + Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that + consumers of them are not broken, but since the targets files themselves are still part of .NET, + the shim will internally simply redirect to the real copy of the targets file in the .NET Framework. + --> - + - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.VisualBasic.CrossTargeting.targets b/src/Tasks/Microsoft.VisualBasic.CrossTargeting.targets index d397da71c95..ceb30bc1a02 100644 --- a/src/Tasks/Microsoft.VisualBasic.CrossTargeting.targets +++ b/src/Tasks/Microsoft.VisualBasic.CrossTargeting.targets @@ -9,7 +9,6 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and Copyright (C) Microsoft Corporation. All rights reserved. *********************************************************************************************** --> - @@ -22,4 +21,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.VisualBasic.CurrentVersion.targets b/src/Tasks/Microsoft.VisualBasic.CurrentVersion.targets index daebf98475b..1d83c4a6327 100644 --- a/src/Tasks/Microsoft.VisualBasic.CurrentVersion.targets +++ b/src/Tasks/Microsoft.VisualBasic.CurrentVersion.targets @@ -1,4 +1,4 @@ - - @@ -375,4 +374,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.VisualBasic.targets b/src/Tasks/Microsoft.VisualBasic.targets index 3616981103c..aa7a6f812fd 100644 --- a/src/Tasks/Microsoft.VisualBasic.targets +++ b/src/Tasks/Microsoft.VisualBasic.targets @@ -1,4 +1,3 @@ - - @@ -37,4 +35,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.VisualStudioVersion.v11.Common.props b/src/Tasks/Microsoft.VisualStudioVersion.v11.Common.props index 858e86ecee9..9ef50e92c14 100644 --- a/src/Tasks/Microsoft.VisualStudioVersion.v11.Common.props +++ b/src/Tasks/Microsoft.VisualStudioVersion.v11.Common.props @@ -1,4 +1,4 @@ - - - + 11.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.VisualStudioVersion.v12.Common.props b/src/Tasks/Microsoft.VisualStudioVersion.v12.Common.props index 6fb9cfdbfa4..428a5c1d571 100644 --- a/src/Tasks/Microsoft.VisualStudioVersion.v12.Common.props +++ b/src/Tasks/Microsoft.VisualStudioVersion.v12.Common.props @@ -1,4 +1,4 @@ - - - + 12.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.VisualStudioVersion.v14.Common.props b/src/Tasks/Microsoft.VisualStudioVersion.v14.Common.props index 1f0a2830339..c2e2af3ad8e 100644 --- a/src/Tasks/Microsoft.VisualStudioVersion.v14.Common.props +++ b/src/Tasks/Microsoft.VisualStudioVersion.v14.Common.props @@ -1,4 +1,4 @@ - - - + 14.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.VisualStudioVersion.v15.Common.props b/src/Tasks/Microsoft.VisualStudioVersion.v15.Common.props index 355652bffd0..9d9e0f62d71 100644 --- a/src/Tasks/Microsoft.VisualStudioVersion.v15.Common.props +++ b/src/Tasks/Microsoft.VisualStudioVersion.v15.Common.props @@ -9,7 +9,6 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and Copyright (C) Microsoft Corporation. All rights reserved. *********************************************************************************************** --> - @@ -17,4 +16,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.VisualStudioVersion.v16.Common.props b/src/Tasks/Microsoft.VisualStudioVersion.v16.Common.props index 832c3d55387..1843227e760 100644 --- a/src/Tasks/Microsoft.VisualStudioVersion.v16.Common.props +++ b/src/Tasks/Microsoft.VisualStudioVersion.v16.Common.props @@ -1,4 +1,4 @@ - - @@ -17,4 +16,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.VisualStudioVersion.v17.Common.props b/src/Tasks/Microsoft.VisualStudioVersion.v17.Common.props index 452a3fe9cd4..94031c33888 100644 --- a/src/Tasks/Microsoft.VisualStudioVersion.v17.Common.props +++ b/src/Tasks/Microsoft.VisualStudioVersion.v17.Common.props @@ -1,4 +1,4 @@ - - @@ -17,4 +16,4 @@ Copyright (C) Microsoft Corporation. All rights reserved. $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.WinFx.targets b/src/Tasks/Microsoft.WinFx.targets index a2e5e8be195..0c942235926 100644 --- a/src/Tasks/Microsoft.WinFx.targets +++ b/src/Tasks/Microsoft.WinFx.targets @@ -1,15 +1,15 @@ - + - + Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that + consumers of them are not broken, but since the targets files themselves are still part of .NET, + the shim will internally simply redirect to the real copy of the targets file in the .NET Framework. + --> - + - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.WorkflowBuildExtensions.targets b/src/Tasks/Microsoft.WorkflowBuildExtensions.targets index 64cbed76b63..580e2f75bc2 100644 --- a/src/Tasks/Microsoft.WorkflowBuildExtensions.targets +++ b/src/Tasks/Microsoft.WorkflowBuildExtensions.targets @@ -1,4 +1,4 @@ - - - + Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that + consumers of them are not broken, but since the targets files themselves are still part of .NET, + the shim will internally simply redirect to the real copy of the targets file in the .NET Framework. + --> - + - - + In Dev16 we no longer need these files to exist on disk for Workflow Designer scenarios. We can't + modify $(MSBuildFrameworkToolsPath)\Microsoft.WorkflowBuildExtensions.targets because that would + break the Workflow Designer for older versions of VS. Instead, we effectively turn it off by + overriding it with a no-op implementation here. + --> + - + \ No newline at end of file diff --git a/src/Tasks/Microsoft.Xaml.targets b/src/Tasks/Microsoft.Xaml.targets index c8a743e39e3..de6672bd427 100644 --- a/src/Tasks/Microsoft.Xaml.targets +++ b/src/Tasks/Microsoft.Xaml.targets @@ -1,22 +1,22 @@ - + - + Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that + consumers of them are not broken, but since the targets files themselves are still part of .NET, + the shim will internally simply redirect to the real copy of the targets file in the .NET Framework. + --> - - - $(MSBuildToolsPath64) - + + + $(MSBuildToolsPath64) + - + - + \ No newline at end of file diff --git a/src/Tasks/ResolveManifestFiles.cs b/src/Tasks/ResolveManifestFiles.cs index 58640172d76..e04d5d27e05 100644 --- a/src/Tasks/ResolveManifestFiles.cs +++ b/src/Tasks/ResolveManifestFiles.cs @@ -288,7 +288,7 @@ private ITaskItem CreateFileItem(ITaskItem item, string group, string targetPath // .NETCore Launcher.exe based deployment: If the file is apphost.exe, we need to set 'TargetPath' metadata // to {assemblyname}.exe so that the file gets published as {assemblyname}.exe and not apphost.exe. // - if (LauncherBasedDeployment && + if (LauncherBasedDeployment && targetPath.Equals(Constants.AppHostExe, StringComparison.InvariantCultureIgnoreCase) && !String.IsNullOrEmpty(AssemblyName)) { @@ -752,7 +752,7 @@ private bool IsFiltered(ITaskItem item) if (item.ItemSpec.EndsWith(".dll") && identity == null && !isDotNetCore) { // It is possible that a native dll gets passed in here that was declared as a content file - // in a referenced nuget package, which will yield null here. We just need to ignore those + // in a referenced nuget package, which will yield null here. We just need to ignore those // for .NET FX case since those aren't actually references we care about. For .NET Core, native // dll can be passed as a reference so we won't ignore it if isDotNetCore is true. return true; @@ -877,7 +877,7 @@ public void Add(ITaskItem item) } } } - + IEnumerator IEnumerable.GetEnumerator() { return _dictionary.Values.GetEnumerator(); diff --git a/src/Tasks/Workflow.VisualBasic.targets b/src/Tasks/Workflow.VisualBasic.targets index b6212e40864..2002517eaf9 100644 --- a/src/Tasks/Workflow.VisualBasic.targets +++ b/src/Tasks/Workflow.VisualBasic.targets @@ -1,15 +1,15 @@ - + - + Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that + consumers of them are not broken, but since the targets files themselves are still part of .NET, + the shim will internally simply redirect to the real copy of the targets file in the .NET Framework. + --> - + - + \ No newline at end of file diff --git a/src/Tasks/Workflow.targets b/src/Tasks/Workflow.targets index e9eb61cf94e..96f52c81d1e 100644 --- a/src/Tasks/Workflow.targets +++ b/src/Tasks/Workflow.targets @@ -1,15 +1,15 @@ - + - + Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that + consumers of them are not broken, but since the targets files themselves are still part of .NET, + the shim will internally simply redirect to the real copy of the targets file in the .NET Framework. + --> - + - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/CSharp.BrowseObject.xaml b/src/Tasks/XamlRules/CSharp.BrowseObject.xaml index b5151a4ebf8..ccefe984455 100644 --- a/src/Tasks/XamlRules/CSharp.BrowseObject.xaml +++ b/src/Tasks/XamlRules/CSharp.BrowseObject.xaml @@ -1,4 +1,3 @@ - + Name="{}{ItemType}" + DisplayName="Build Action" + Category="Advanced" + Description="How the file relates to the build and deployment processes." + EnumProvider="ItemTypes" /> + Name="CopyToOutputDirectory" + DisplayName="Copy to Output Directory" + Category="Advanced" + Description="Specifies the source file will be copied to the output directory."> + Name="Identity" + Visible="false" + ReadOnly="true" + Category="Misc" + Description="The item specified in the Include attribute."> + Name="FullPath" + DisplayName="Full Path" + ReadOnly="true" + Category="Misc" + Description="Location of the file."> + Name="FileNameAndExtension" + DisplayName="File Name" + ReadOnly="true" + Category="Misc" + Description="Name of the file or folder."> @@ -85,4 +84,4 @@ - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/CSharp.ProjectItemsSchema.xaml b/src/Tasks/XamlRules/CSharp.ProjectItemsSchema.xaml index a8b8e008446..dd51a5ece27 100644 --- a/src/Tasks/XamlRules/CSharp.ProjectItemsSchema.xaml +++ b/src/Tasks/XamlRules/CSharp.ProjectItemsSchema.xaml @@ -1,16 +1,14 @@ - + xmlns="http://schemas.microsoft.com/build/2009/properties"> - - + + - - - - + + + \ No newline at end of file diff --git a/src/Tasks/XamlRules/CSharp.xaml b/src/Tasks/XamlRules/CSharp.xaml index 899420f7674..39168f14adf 100644 --- a/src/Tasks/XamlRules/CSharp.xaml +++ b/src/Tasks/XamlRules/CSharp.xaml @@ -1,4 +1,3 @@ - + Name="{}{ItemType}" + DisplayName="Build Action" + Category="Advanced" + Description="How the file relates to the build and deployment processes." + EnumProvider="ItemTypes" /> + Name="CopyToOutputDirectory" + DisplayName="Copy to Output Directory" + Category="Advanced" + Description="Specifies the source file will be copied to the output directory."> + Name="Identity" + Visible="false" + ReadOnly="true" + Category="Misc" + Description="The item specified in the Include attribute."> + Name="FullPath" + DisplayName="Full Path" + ReadOnly="true" + Category="Misc" + Description="Location of the file."> + Name="FileNameAndExtension" + DisplayName="File Name" + ReadOnly="true" + Category="Misc" + Description="Name of the file or folder."> @@ -81,4 +80,4 @@ - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/Content.xaml b/src/Tasks/XamlRules/Content.xaml index cfa3cf78836..10943a217c9 100644 --- a/src/Tasks/XamlRules/Content.xaml +++ b/src/Tasks/XamlRules/Content.xaml @@ -1,4 +1,3 @@ - - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/Debugger_General.xaml b/src/Tasks/XamlRules/Debugger_General.xaml index 49089861e8d..e0eb4c94934 100644 --- a/src/Tasks/XamlRules/Debugger_General.xaml +++ b/src/Tasks/XamlRules/Debugger_General.xaml @@ -1,23 +1,22 @@ - + DisplayName="Debugger General Properties" + Description="General Debugger options" + xmlns="http://schemas.microsoft.com/build/2009/properties"> - + + Description="The search path used by the debugger to locate symbols."> + Description="The debug rule selected as the active debugger."> + Description="The 'hidden' property we pass to debuggers to let them know if this is a managed project."> @@ -25,4 +24,4 @@ - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/EmbeddedResource.xaml b/src/Tasks/XamlRules/EmbeddedResource.xaml index 32924484fc0..39020789a57 100644 --- a/src/Tasks/XamlRules/EmbeddedResource.xaml +++ b/src/Tasks/XamlRules/EmbeddedResource.xaml @@ -1,11 +1,10 @@ - + Name="EmbeddedResource" + DisplayName="Embedded Resource" + PageTemplate="generic" + Description="Embedded resources" + xmlns="http://schemas.microsoft.com/build/2009/properties"> @@ -15,8 +14,8 @@ + Description="How the file relates to the build and deployment processes." + EnumProvider="ItemTypes" /> + Name="Generator" + Category="Advanced" + DisplayName="Custom Tool" + Description="Specifies the tool that transforms a file at design time and places the output of that transformation into another file. For example, a dataset (.xsd) file comes with a default custom tool." /> + Name="CustomToolNamespace" + Category="Advanced" + DisplayName="Custom Tool Namespace" + Description="The namespace into which the output of the custom tool is placed." /> + Name="Identity" + Visible="false" + ReadOnly="true" + Category="Misc" + Description="The item specified in the Include attribute."> + Name="FullPath" + DisplayName="Full Path" + ReadOnly="true" + Category="Misc" + Description="Location of the file."> + Name="FileNameAndExtension" + DisplayName="File Name" + ReadOnly="true" + Category="Misc" + Description="Name of the file or folder."> @@ -92,4 +91,4 @@ - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/Folder.xaml b/src/Tasks/XamlRules/Folder.xaml index 98fec3edb19..713e5ffee8a 100644 --- a/src/Tasks/XamlRules/Folder.xaml +++ b/src/Tasks/XamlRules/Folder.xaml @@ -1,4 +1,3 @@ - - - - + + + - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/General.BrowseObject.xaml b/src/Tasks/XamlRules/General.BrowseObject.xaml index 61eeb693f0d..cda0f1a70aa 100644 --- a/src/Tasks/XamlRules/General.BrowseObject.xaml +++ b/src/Tasks/XamlRules/General.BrowseObject.xaml @@ -1,4 +1,3 @@ - - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/General.xaml b/src/Tasks/XamlRules/General.xaml index 1080a5e4d4c..27a7bffab75 100644 --- a/src/Tasks/XamlRules/General.xaml +++ b/src/Tasks/XamlRules/General.xaml @@ -1,4 +1,3 @@ - - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/General_File.xaml b/src/Tasks/XamlRules/General_File.xaml index 68e5ae5d1b2..901e8f1ec51 100644 --- a/src/Tasks/XamlRules/General_File.xaml +++ b/src/Tasks/XamlRules/General_File.xaml @@ -1,4 +1,3 @@ - + Name="CopyToOutputDirectory" + DisplayName="Copy to Output Directory" + Category="Advanced" + Description="Specifies the source file will be copied to the output directory."> + Name="Identity" + Visible="false" + ReadOnly="true" + Category="Misc" + Description="The item specified in the Include attribute."> + Name="FullPath" + DisplayName="Full Path" + ReadOnly="true" + Category="Misc" + Description="Location of the file."> + Name="FileNameAndExtension" + DisplayName="File Name" + ReadOnly="true" + Category="Misc" + Description="Name of the file or folder."> @@ -91,4 +90,4 @@ - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/None.xaml b/src/Tasks/XamlRules/None.xaml index 2b82f066ef1..acc74c7eed8 100644 --- a/src/Tasks/XamlRules/None.xaml +++ b/src/Tasks/XamlRules/None.xaml @@ -1,4 +1,3 @@ - + Name="{}{ItemType}" + DisplayName="Build Action" + Category="Advanced" + Description="How the file relates to the build and deployment processes." + EnumProvider="ItemTypes" /> + Name="CopyToOutputDirectory" + DisplayName="Copy to Output Directory" + Category="Advanced" + Description="Specifies the source file will be copied to the output directory."> + Name="Identity" + Visible="false" + ReadOnly="true" + Category="Misc" + Description="The item specified in the Include attribute."> + Name="FullPath" + DisplayName="Full Path" + ReadOnly="true" + Category="Misc" + Description="Location of the file."> + Name="FileNameAndExtension" + DisplayName="File Name" + ReadOnly="true" + Category="Misc" + Description="Name of the file or folder."> @@ -90,4 +89,4 @@ - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/ProjectItemsSchema.xaml b/src/Tasks/XamlRules/ProjectItemsSchema.xaml index 28f54055052..efd8d6946cc 100644 --- a/src/Tasks/XamlRules/ProjectItemsSchema.xaml +++ b/src/Tasks/XamlRules/ProjectItemsSchema.xaml @@ -1,139 +1,137 @@ - + xmlns="http://schemas.microsoft.com/build/2009/properties"> - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - + + - - - + + - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Tasks/XamlRules/ResolvedAssemblyReference.xaml b/src/Tasks/XamlRules/ResolvedAssemblyReference.xaml index 41de81596b9..00a031357fd 100644 --- a/src/Tasks/XamlRules/ResolvedAssemblyReference.xaml +++ b/src/Tasks/XamlRules/ResolvedAssemblyReference.xaml @@ -1,122 +1,121 @@ - - - - + Name="ResolvedAssemblyReference" + DisplayName="Resolved Assembly Reference" + PageTemplate="generic" + Description="Resolved reference" + xmlns="http://schemas.microsoft.com/build/2009/properties"> + + + - - - - - + + + + + - - - - - + + + + + - + - + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - + + - - + + - - - + + + - - + + - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/src/Tasks/XamlRules/ResolvedCOMReference.xaml b/src/Tasks/XamlRules/ResolvedCOMReference.xaml index 1aff28d9d8d..6abdc97990c 100644 --- a/src/Tasks/XamlRules/ResolvedCOMReference.xaml +++ b/src/Tasks/XamlRules/ResolvedCOMReference.xaml @@ -1,124 +1,123 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Name="ResolvedCOMReference" + DisplayName="Resolved COM Reference" + PageTemplate="generic" + Description="Resolved reference" + xmlns="http://schemas.microsoft.com/build/2009/properties"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Tasks/XamlRules/ResolvedProjectReference.xaml b/src/Tasks/XamlRules/ResolvedProjectReference.xaml index 8f1ceda99f4..087e5b332cf 100644 --- a/src/Tasks/XamlRules/ResolvedProjectReference.xaml +++ b/src/Tasks/XamlRules/ResolvedProjectReference.xaml @@ -1,119 +1,118 @@ - - - - + Name="ResolvedProjectReference" + DisplayName="Resolved Project Reference" + PageTemplate="generic" + Description="Resolved reference" + xmlns="http://schemas.microsoft.com/build/2009/properties"> + + + - - - - - + + + + + - - - - - + + + + + - - + + - - + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - + + - + - - + + - - + + - - - + + + - - - + + + - - - - - - + + + + + + \ No newline at end of file diff --git a/src/Tasks/XamlRules/Scc.xaml b/src/Tasks/XamlRules/Scc.xaml index 155f08b65da..1c07a54454d 100644 --- a/src/Tasks/XamlRules/Scc.xaml +++ b/src/Tasks/XamlRules/Scc.xaml @@ -1,4 +1,3 @@ - - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/SpecialFolder.xaml b/src/Tasks/XamlRules/SpecialFolder.xaml index 9cbbebef564..cbeb1cc0d71 100644 --- a/src/Tasks/XamlRules/SpecialFolder.xaml +++ b/src/Tasks/XamlRules/SpecialFolder.xaml @@ -1,24 +1,23 @@ - - - - + Name="SpecialFolder" + DisplayName="General" + PageTemplate="generic" + Description="Special folders" + xmlns="http://schemas.microsoft.com/build/2009/properties"> + + + - - + + - - - + + + - - + + - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/SubProject.xaml b/src/Tasks/XamlRules/SubProject.xaml index bc479db7729..a887c54313f 100644 --- a/src/Tasks/XamlRules/SubProject.xaml +++ b/src/Tasks/XamlRules/SubProject.xaml @@ -1,4 +1,3 @@ - - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/VisualBasic.BrowseObject.xaml b/src/Tasks/XamlRules/VisualBasic.BrowseObject.xaml index 6da44dd8555..266cb074fdb 100644 --- a/src/Tasks/XamlRules/VisualBasic.BrowseObject.xaml +++ b/src/Tasks/XamlRules/VisualBasic.BrowseObject.xaml @@ -1,4 +1,3 @@ - + Name="{}{ItemType}" + DisplayName="Build Action" + Category="Advanced" + Description="How the file relates to the build and deployment processes." + EnumProvider="ItemTypes" /> + Name="CopyToOutputDirectory" + DisplayName="Copy to Output Directory" + Category="Advanced" + Description="Specifies the source file will be copied to the output directory."> + Name="Identity" + Visible="false" + ReadOnly="true" + Category="Misc" + Description="The item specified in the Include attribute."> + Name="FullPath" + DisplayName="Full Path" + ReadOnly="true" + Category="Misc" + Description="Location of the file."> + Name="FileNameAndExtension" + DisplayName="File Name" + ReadOnly="true" + Category="Misc" + Description="Name of the file or folder."> @@ -85,4 +84,4 @@ - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/VisualBasic.ProjectItemsSchema.xaml b/src/Tasks/XamlRules/VisualBasic.ProjectItemsSchema.xaml index 4010206fbc5..08fd874b0d5 100644 --- a/src/Tasks/XamlRules/VisualBasic.ProjectItemsSchema.xaml +++ b/src/Tasks/XamlRules/VisualBasic.ProjectItemsSchema.xaml @@ -1,16 +1,14 @@ - + xmlns="http://schemas.microsoft.com/build/2009/properties"> - - + + - - - - + + + \ No newline at end of file diff --git a/src/Tasks/XamlRules/VisualBasic.xaml b/src/Tasks/XamlRules/VisualBasic.xaml index b2ed3dfa33c..596eee397f4 100644 --- a/src/Tasks/XamlRules/VisualBasic.xaml +++ b/src/Tasks/XamlRules/VisualBasic.xaml @@ -1,4 +1,3 @@ - + Name="{}{ItemType}" + DisplayName="Build Action" + Category="Advanced" + Description="How the file relates to the build and deployment processes." + EnumProvider="ItemTypes" /> + Name="CopyToOutputDirectory" + DisplayName="Copy to Output Directory" + Category="Advanced" + Description="Specifies the source file will be copied to the output directory."> + Name="Identity" + Visible="false" + ReadOnly="true" + Category="Misc" + Description="The item specified in the Include attribute."> + Name="FullPath" + DisplayName="Full Path" + ReadOnly="true" + Category="Misc" + Description="Location of the file."> + Name="FileNameAndExtension" + DisplayName="File Name" + ReadOnly="true" + Category="Misc" + Description="Name of the file or folder."> @@ -81,4 +80,4 @@ - + \ No newline at end of file diff --git a/src/Tasks/XamlRules/assemblyreference.xaml b/src/Tasks/XamlRules/assemblyreference.xaml index a7eb69ee710..95d4aaf4fae 100644 --- a/src/Tasks/XamlRules/assemblyreference.xaml +++ b/src/Tasks/XamlRules/assemblyreference.xaml @@ -1,47 +1,46 @@ - - - - + Name="AssemblyReference" + DisplayName="Assembly Reference" + PageTemplate="generic" + Description="Assembly reference properties" + xmlns="http://schemas.microsoft.com/build/2009/properties"> + + + - + - - - - - + + + + + - + - - - - - + + + + + - - - - - - + + + + + + \ No newline at end of file diff --git a/src/Tasks/XamlRules/comreference.xaml b/src/Tasks/XamlRules/comreference.xaml index 164f0e736be..0cea2c8e4c3 100644 --- a/src/Tasks/XamlRules/comreference.xaml +++ b/src/Tasks/XamlRules/comreference.xaml @@ -1,20 +1,19 @@ - - - - - - - - - - - + Name="ComReference" + DisplayName="COM Reference" + PageTemplate="generic" + Description="COM reference properties" + xmlns="http://schemas.microsoft.com/build/2009/properties"> + + + + + + + + + + \ No newline at end of file diff --git a/src/Tasks/XamlRules/projectreference.xaml b/src/Tasks/XamlRules/projectreference.xaml index 1526db5784b..c00b40058b9 100644 --- a/src/Tasks/XamlRules/projectreference.xaml +++ b/src/Tasks/XamlRules/projectreference.xaml @@ -1,46 +1,45 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + Name="ProjectReference" + DisplayName="Project Reference" + PageTemplate="generic" + Description="Project reference properties" + xmlns="http://schemas.microsoft.com/build/2009/properties"> + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file