예제 #1
0
        public void ProjectReferenceToProjectWithNoMSBuildProjectFailsGracefully()
        {
            var exception = Assert.Throws <ExceptionFromResource>(
                () => NuGetTestHelpers.ResolvePackagesWithJsonFileContents(Resources.LockFileMissingMSBuildProjectThatProvidesAssets, ".NETFramework,Version=v4.5.2", "win"));

            Assert.Equal(nameof(Strings.MissingMSBuildPathInProjectPackage), exception.ResourceName);
            Assert.Equal(@"XProjClassLib", exception.MessageArgs[0]);
        }
예제 #2
0
        public void ProjectReferenceToXProjWithAssetsButNotWithAPathFails()
        {
            var exception = Assert.Throws <ExceptionFromResource>(
                () => NuGetTestHelpers.ResolvePackagesWithJsonFileContents(Resources.LockFileWithXProjReference, ".NETFramework,Version=v4.5.2", "win"));

            Assert.Equal(nameof(Strings.MissingProjectReference), exception.ResourceName);
            AssertHelpers.PathEndsWith(@"XProjClassLib\XProjClassLib.xproj", exception.MessageArgs[0]);
        }
예제 #3
0
        public void ProjectReferenceToCSProjWithoutAssetsAndNoPathSucceeds()
        {
            var result = NuGetTestHelpers.ResolvePackagesWithJsonFileContents(Resources.LockFileWithCSProjReference, ".NETFramework,Version=v4.5.2", "win");

            // The lock file doesn't contain any assets for csproj references, so we should produce nothing
            Assert.Empty(result.Analyzers);
            Assert.Empty(result.CopyLocalItems);
            Assert.Empty(result.References);
            Assert.Empty(result.ReferencedPackages);
        }
예제 #4
0
        public void ProjectReferenceToXProjWithAssetsAndPathSucceeds()
        {
            var referenceToXProj = new TaskItem(@"..\XProjClassLib\XProjClassLib.xproj");

            referenceToXProj.SetMetadata("OutputBasePath", "XProjOutputDirectory");

            var result = NuGetTestHelpers.ResolvePackagesWithJsonFileContents(
                Resources.LockFileWithXProjReference,
                ".NETFramework,Version=v4.5.2",
                "win",
                projectReferencesCreatingPackages: new[] { referenceToXProj });

            Assert.Empty(result.Analyzers);
            AssertHelpers.PathEndsWith(@"XProjOutputDirectory\net452\XProjClassLib.dll", result.CopyLocalItems.Single().ItemSpec);
            AssertHelpers.PathEndsWith(@"XProjOutputDirectory\net452\XProjClassLib.dll", result.References.Single().ItemSpec);
            Assert.All(result.References, r => Assert.Equal(ResolveNuGetPackageAssets.NuGetSourceType_Project, r.GetMetadata(ResolveNuGetPackageAssets.NuGetSourceType)));
            Assert.Empty(result.ReferencedPackages);
        }