我有两个组件.一个组件指的是另一个组件.我检查了第一个程序集的清单,发现它引用了第二个程序集,并带有一些特定的令牌密钥.
但我检查了第二个程序集的标记,发现它有一个不同的公共标记.所以我错过了正确的第二次组装.所以我想知道有没有办法可以将第二个程序集的公共令牌更改为第一个程序集需要的那个.
另外我还有另一个第二个程序集,它具有public token = null.
我想以编程方式将NuGet包安装到项目中,并更新.csproj文件和packages.config文件.
我正在使用官方Nuget.core框架,其源代码可在此处获取:https://github.com/NuGet/NuGet2
我没有使用NuGet包:https://www.nuget.org/packages/NuGet.Core/ 但是在GitHub上找到的源代码能够进行一些调试.
注意:我使用的是版本,
2.11而不是2.13
我可以在所需的目录下载一个包并更新该packages.config文件:
// ---- Download and install a package at a desired path ----
string packageID = "Newtonsoft.json";
var sourceUri = new Uri("https://packages.nuget.org/api/v2");
// Return an IPackage
var package = GetNugetPackage(packageID, sourceUri);
IPackageRepository sourceRepository = PackageRepositoryFactory.Default.CreateRepository(sourceUri.ToString());
string packagesPath = "../../TestFiles/packages";
PackageManager packageManager = new PackageManager(sourceRepository, packagesPath);
packageManager.InstallPackage(packageID, SemanticVersion.Parse(package.Version.ToFullString()));
// ---- Update the ‘packages.config’ file ----
var packageReferenceFile = …Run Code Online (Sandbox Code Playgroud)