本文整理汇总了C#中SharedPackageRepository.RegisterRepository方法的典型用法代码示例。如果您正苦于以下问题:C# SharedPackageRepository.RegisterRepository方法的具体用法?C# SharedPackageRepository.RegisterRepository怎么用?C# SharedPackageRepository.RegisterRepository使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SharedPackageRepository
的用法示例。
在下文中一共展示了SharedPackageRepository.RegisterRepository方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RegisterRepositoryAddsRelativePathToRepositoriesConfig
public void RegisterRepositoryAddsRelativePathToRepositoriesConfig()
{
// Arrange
var fileSystem = new Mock<MockFileSystem>() { CallBase = true };
fileSystem.Setup(m => m.Root).Returns(@"c:\foo\");
var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem.Object), fileSystem.Object);
// Act
repository.RegisterRepository(@"c:\foo\packages\packages.config");
// Assert
Assert.Equal(@"<?xml version=""1.0"" encoding=""utf-8""?>
<repositories>
<repository path=""packages\packages.config"" />
</repositories>", fileSystem.Object.ReadAllText("repositories.config"));
}
示例2: RegisterRepositoryUseTheStoreFileSystem
public void RegisterRepositoryUseTheStoreFileSystem()
{
// Arrange
var fileSystem = new MockFileSystem("x:\\");
var storeFileSystem = new MockFileSystem("y:\\");
var configFileSystem = new MockFileSystem("z:\\");
var resolver = new DefaultPackagePathResolver(fileSystem);
var repository = new SharedPackageRepository(resolver, fileSystem, storeFileSystem, configFileSystem);
// Act
repository.RegisterRepository("x:\\project1\\path");
// Assert
Assert.True(storeFileSystem.FileExists("repositories.config"));
string content = storeFileSystem.ReadAllText("repositories.config");
Assert.Equal(@"<?xml version=""1.0"" encoding=""utf-8""?>
<repositories>
<repository path=""project1\path"" />
</repositories>", content);
}
示例3: RepositoryPathsAreSavedInAlphabeticalOrder
public void RepositoryPathsAreSavedInAlphabeticalOrder()
{
// Arrange
var fileSystem = new Mock<MockFileSystem>() { CallBase = true };
fileSystem.Setup(m => m.Root).Returns(@"x:\foo\");
var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem.Object), fileSystem.Object, new MockFileSystem());
// Act
repository.RegisterRepository(@"x:\foo\z\packages\packages.config");
repository.RegisterRepository(@"x:\foo\X\packages\packages.config");
repository.RegisterRepository(@"x:\foo\a\packages\packages.config");
// Assert
Assert.Equal(@"<?xml version=""1.0"" encoding=""utf-8""?>
<repositories>
<repository path=""a\packages\packages.config"" />
<repository path=""X\packages\packages.config"" />
<repository path=""z\packages\packages.config"" />
</repositories>", fileSystem.Object.ReadAllText("repositories.config"));
}
示例4: CreateNuGetScaffolding
private void CreateNuGetScaffolding(SharedPackageRepository sharedPackagesRepository, List<ManifestDependency> manifestDependencies, IEnumerable<KeyValuePair<string, List<IPackage>>> resolvedMappings, FileInfo projectFileInfo, Project project, List<string> projectDependencies)
{
//Now, create the packages.config for the resolved packages, and update the repositories.config
Console.WriteLine("Creating packages.config");
var packagesConfigFilePath = Path.Combine(projectFileInfo.Directory.FullName + "\\", "packages.config");
var packagesConfig = new PackageReferenceFile(packagesConfigFilePath);
foreach (var referenceMapping in resolvedMappings)
{
//TODO We shouldnt need to resolve this twice....
var package = referenceMapping.Value.OrderBy(p => p.GetFiles().Count()).First();
if (!packagesConfig.EntryExists(package.Id, package.Version))
packagesConfig.AddEntry(package.Id, package.Version);
if (NuSpec && manifestDependencies.All(m => m.Id != package.Id))
{
manifestDependencies.Add(new ManifestDependency {Id = package.Id});
}
}
//This is messy...refactor
//For any resolved project dependencies, add a manifest dependency if we are doing nuspecs
if (NuSpec)
{
foreach (var projectDependency in projectDependencies)
{
if (manifestDependencies.All(m => m.Id != projectDependency))
{
manifestDependencies.Add(new ManifestDependency {Id = projectDependency});
}
}
}
//Register the packages.config
sharedPackagesRepository.RegisterRepository(packagesConfigFilePath);
//Add the packages.config to the project content, otherwise later versions of the VSIX fail...
if (!project.GetItems("None").Any(i => i.UnevaluatedInclude.Equals("packages.config")))
{
project.Xml.AddItemGroup().AddItem("None", "packages.config");
project.Save();
}
}
示例5: RegisterRepositoryDoesNotAddRelativePathToRepositoriesConfigIfExists
public void RegisterRepositoryDoesNotAddRelativePathToRepositoriesConfigIfExists()
{
// Arrange
var fileSystem = new MockFileSystem(@"x:\foo");
fileSystem.AddFile("repositories.config", @"<?xml version=""1.0"" encoding=""utf-8""?>
<repositories>
<repository path=""A\packages.config"" />
<repository path=""B\packages.config"" />
</repositories>");
var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem), fileSystem, new MockFileSystem());
var packageReferenceFile = new PackageReferenceFile(new MockFileSystem(), @"x:\foo\A\packages.config");
// Act
repository.RegisterRepository(packageReferenceFile);
// Assert
Assert.Equal(@"<?xml version=""1.0"" encoding=""utf-8""?>
<repositories>
<repository path=""A\packages.config"" />
<repository path=""B\packages.config"" />
</repositories>", fileSystem.ReadAllText("repositories.config"));
}