我有一些c#书中的。nupkg文件。我如何安装它们?


当前回答

对于.nupkg文件,我喜欢使用:

Install-Package C:\Path\To\Some\File.nupkg

其他回答

对于.nupkg文件,我喜欢使用:

Install-Package C:\Path\To\Some\File.nupkg

最近我想安装松鼠。windows,我尝试安装包松鼠。windows -版本2.0.1从https://www.nuget.org/packages/squirrel.windows/,但它失败了一些错误。所以我下载了squirrel.windows.2.0.1。nupkg并保存在D:\Downloads\,然后我可以通过install - package squirrel成功安装它。windows -verbose -Source D:\Downloads\ -Scope CurrentUser -SkipDependencies

用于Visual Studio 2017及其新的.csproj格式

您不能再仅仅使用Install-Package来指向本地文件。(这可能是因为PackageReference元素不支持文件路径;它只允许你指定包的Id。)

首先必须告诉Visual Studio包的位置,然后才能将其添加到项目中。大多数人做的是进入NuGet包管理器并添加本地文件夹作为源(菜单工具→选项→NuGet包管理器→包源)。但这意味着你的依赖项的位置不会与你的代码库的其他部分一起提交(到版本控制)。

使用相对路径的本地NuGet包

这将添加一个只适用于特定解决方案的包源,您可以使用相对路径。

你需要创造一个楔子。配置文件与您的.sln文件在同一目录下。将文件配置为所需的包源。当您下次在Visual Studio 2017中打开解决方案时,来自这些源文件夹的任何.nupkg文件都将可用。(您将在Package Manager中看到列出的源代码,当您管理项目的包时,您将在“Browse”选项卡上找到包。)

这里有一个例子。配置让你开始:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="MyLocalSharedSource" value="..\..\..\some\folder" />
    </packageSources>
</configuration>

基本信息

My use case for this functionality is that I have multiple instances of a single code repository on my machine. There's a shared library within the codebase that's published/deployed as a .nupkg file. This approach allows the various dependent solutions throughout our codebase to use the package within the same repository instance. Also, someone with a fresh install of Visual Studio 2017 can just checkout the code wherever they want, and the dependent solutions will successfully restore and build.

如果你有一个.nupkg文件,只需要.dll文件,你所要做的就是将扩展名更改为.zip,然后找到lib目录。

您还可以使用包管理器控制台并通过在-Source参数中指定包含包文件的目录的路径来调用安装包cmdlet:

Install-Package SomePackage -Source C:\PathToThePackageDir\