使用 Nuget 获取传统 VS 项目中特定版本的库



我是Java程序员,最近我必须从事一个.NET项目。实际上,我想使用与 Mighty Maven 管理项目中依赖项相同的方式,我发现有一个 Nuget 工具可以做同样的事情。但我的问题是如何根据我在.NET 的项目文件。不知何故,我发现Nuget可以找到依赖项并将它们添加为对项目的引用。问题是,在某些情况下,我想添加EnterproseLibrary版本5,包括共享资源,日志记录,异常处理,数据和统一。我得到了所有内容,但它在某些命名空间中存在错误,应该由 Nuget 添加,如下所示:Microsoft.实践.企业库.日志记录.数据库

我还注意到,如果我想获得企业库的第5版,我应该使用EntLibContrib而不是EnterpriseLibrary,这完全令人困惑。如果我想添加数据命名空间,我应该使用 Nuget 中企业库的版本 6。因为在版本 5 中我只找到:以下内容:

EntLibContrib.Data.MySqlEntLibContrib.Data.OdpNet

用谷歌搜索了太多,尤其是官方的nuget文档,我真的厌倦了所有的.NET。 我需要 Nuget 或 .Net 中所有其他存储库、包和构建管理的良好参考。

更新:

例如,我在csproject文件中有以下参考:

<Reference Include="Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>......BinaryReferencesMicrosoft.Practices.EnterpriseLibrary.Logging.dll</HintPath>
</Reference>

我知道每个库的版本,我想将它们作为Nuget格式添加到package.config文件中以恢复它们。我想使用 Nuget 来构建、打包和部署,而不是在 Visual Studio 中构建项目的传统方式。

例如,我可以使用 mvnrepository 来找出我们想要的每个版本的库,并在我们的 pom.xml 文件中使用它。在.NET中,我不知道如何找到库的确切版本并在Nuget package.config/json文件中解决它。

阅读其文档两天后,我对它的功能和powershell命令有足够的了解。我只想知道,有没有办法根据其命名空间找到库版本,就像我每天使用 maven 存储库一样。或者我对Nuget的期望太高了。

你能澄清一下问题到底是什么吗?可以在项目中引用特定的 nuget 包版本。您将选择的版本取决于您所需的功能,以及您希望获得的包中库的版本。可以使用程序包管理器控制台安装特定版本的 NuGet 包。确切的结构包实际上有所不同,具体取决于您使用的包源,但是每个包都描述了它的依赖项 - 阅读有关 nuspec 的信息,以便您确切地知道您得到了什么。将包添加到项目后,您将看到一个 package.config,您可以在其中实际指定包版本和目标框架

<package id="NSubstitute" version="1.9.2.0" targetFramework="net46" />

如果不确定要选择哪个包版本,可以随时检查内容并查看确切包含哪些程序集,这应该在 nuget.org 上描述,但如果使用的是其他源,则始终可以解压缩 nupkg 文件,或使用 NuGetPackage 资源管理器

若要安装企业数据块版本 5 的 nuget 包,需要在 nugey 包管理器控制台中运行以下命令 -(更多详细信息)

Install-Package EnterpriseLibrary.Data -Version 5.0.505

EntLibContrib不完全是企业库,但它是在其之上创建的扩展。有关更多详细信息,请参阅此处。

最新更新