diff --git a/src/CentralPackageVersions.UnitTests/CentralPackageVersionsTests.cs b/src/CentralPackageVersions.UnitTests/CentralPackageVersionsTests.cs index 885d4900..c0d2ffb1 100644 --- a/src/CentralPackageVersions.UnitTests/CentralPackageVersionsTests.cs +++ b/src/CentralPackageVersions.UnitTests/CentralPackageVersionsTests.cs @@ -496,15 +496,44 @@ public void VersionOverridesWithoutCentralVersionsCanBeDisabled(string projectFi buildOutput.Errors.ShouldBe(new[] { $"The package reference \'Orphan\' must have a version defined in \'{packagesProps.FullPath}\'." }); } - private ProjectCreator WritePackagesProps() + [Fact] + public void WorksWithCustomImportPattern() { - ProjectCreator.Create() - .Save(Path.Combine(TestRootPath, "Directory.Build.props")); + WritePackagesProps(writeDirectoryBuildPropsTargets: false); - ProjectCreator.Create() + ProjectCreator customProps = ProjectCreator.Create() + .ImportSdk("Sdk.props", "Microsoft.NET.Sdk") + .Save(Path.Combine(TestRootPath, "Custom.props")); + + ProjectCreator customTargets = ProjectCreator.Create() + .ImportSdk("Sdk.targets", "Microsoft.NET.Sdk") .Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.props")) .Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")) - .Save(Path.Combine(TestRootPath, "Directory.Build.targets")); + .Save(Path.Combine(TestRootPath, "Custom.targets")); + + ProjectCreator.Create() + .Import(customProps) + .Property("TargetFramework", "net45") + .ItemPackageReference("Foo") + .Import(customTargets) + .Save(GetTempFileWithExtension(".csproj")) + .TryBuild("CheckPackageReferences", out bool result, out BuildOutput buildOutput); + + result.ShouldBeTrue(buildOutput.GetConsoleLog()); + } + + private ProjectCreator WritePackagesProps(bool writeDirectoryBuildPropsTargets = true) + { + if (writeDirectoryBuildPropsTargets) + { + ProjectCreator.Create() + .Save(Path.Combine(TestRootPath, "Directory.Build.props")); + + ProjectCreator.Create() + .Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.props")) + .Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")) + .Save(Path.Combine(TestRootPath, "Directory.Build.targets")); + } return ProjectCreator.Templates .PackagesProps( diff --git a/src/CentralPackageVersions/Sdk/Sdk.targets b/src/CentralPackageVersions/Sdk/Sdk.targets index 7b5e3133..8616c72d 100644 --- a/src/CentralPackageVersions/Sdk/Sdk.targets +++ b/src/CentralPackageVersions/Sdk/Sdk.targets @@ -16,7 +16,7 @@ - <_WasMicrosoftCentralPackageVersionsSdkImportedInDirectoryBuildTargets Condition="'$(_WasMicrosoftCentralPackageVersionsSdkImportedInDirectoryBuildTargets)' == '' And '$(DirectoryBuildTargetsPath)' == ''">false + <_WasMicrosoftCentralPackageVersionsSdkImportedInDirectoryBuildTargets Condition="'$(_WasMicrosoftCentralPackageVersionsSdkImportedInDirectoryBuildTargets)' == '' And '$(CommonTargetsPath)' == ''">false