Tag: nuget

如果MSB3277出现在asp net core app中该怎么办

我正在使用引用EntityFrameworkCore 2.1.3包的Database-Project,但AspNetCore.App-metapackage包含EntityFrameworkCore 2.1.2。 引入我的数据库项目后,我得到这个msbuild警告: Warning MSB3277 Found conflicts between different versions of “Microsoft.EntityFrameworkCore” that could not be resolved. 我搜索了一下,我找到了这个文档: https ://docs.microsoft.com/en-us/aspnet/core/fundamentals/metapackage-app?view=aspnetcore-2.1 我使用的第三方库(NpgSql for Postgre)依赖于2.1.3 …我应该降级所有软件包,以便他们使用efcore 2.1.2软件包还是应该忽略这个警告? 或者更好的问题:哪种方式不那么痛苦? 提前致谢

无法在c#中运行Google Cloud PubSub,DLL问题

我正在努力将Google Cloud PubSub集成到我的c#项目中,我使用NuGet安装1.0.0-beta11 ,完全没有错误。 当我运行我的项目,当它到达使用pubsub的代码时,我收到以下错误: An unhandled exception of type ‘System.IO.FileLoadException’ occurred in Google.Api.Gax.dll Additional information: Could not load file or assembly ‘Google.Apis.Auth, Version=1.21.0.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) NuGet确实安装了所有依赖项,包括Google.Apis.Auth.dll,但它是1.27.1。 我已经尝试了我能想到的一切,包括抓住那个dll的1.21.0并使用它,但没有成功。 我已经能够运行.net示例 ,没有错误。 有什么想法吗? 如果您需要更多信息,请告诉我

更新程序包运行时限制PackageReference升级版本

在用于NuGet的.NET较旧的packages.config系统下, 我可以通过使用Package元素上的allowedVersions属性来约束在更新包时考虑的包的可能版本 当在Visual Studio中为包含上述项目的项目运行update-package ,不会对Newtonsoft.Json更新,因为我已使用allowedVersions属性固定到10.0.3。 如何在PackageReference下实现这一目标? 将Semver语法应用于Version属性仅影响已还原的版本 – 它不会限制更新。 因此,如果我指定下面的PackageReference并运行update-package ,我将例如升级到11.0.1,如果11.0.1在我的NuGet存储库中。 背景 我们依靠命令行工具来更新包,因为我们有快速移动的内部包(每天更新多次)和更稳定的低移动包(例如:ASP.NET)。 在大型代码库中, .csproj文件中手动更新每个依赖项对我们来说根本不可扩展(并且容易出错)。 在packages.config我们可以“固定”我们不想升级的第三方软件包,并且还可以更新到最新的快速移动依赖项。

如何使用Nuget源代码进行调试

作为临时解决方案(直到我们获得内部Symbol服务器设置),我正在尝试构建包含DLL的所有源代码的Nuget包,以便我们的用户可以调试其代码。 我已经构建了以下Nuspec文件 My Assembly 1.0.0 My Assembly Me Me false My description © Me 2014 当我添加构建这个Nuspec文件时,我最终得到了一个很好的包,包括我的DLL,以及一个包含源代码的名为src的文件夹。 我看不到该怎么做是让Visual Studio在使用引用的DLL进行调试时使用src目录中的.cs文件(我目前得到的只是一个拆解的预览版)。 这可能是,我认为它应该是,但我找不到任何如何做到这一点的例子。 编辑:感谢您接受的答案。 请注意,我发现这样做的另一种方法是在消费解决方案Common Properties – > Debug Source Files列表中为Nuget包添加’src’文件夹。

如何通过nuget包共享源代码,以便在.NET Core项目中使用

我想在.NET Core项目(.csproj)中使用可用的小部分源代码(例如帮助程序类)。 此时,我根据不同的博客文章和官方nuget文档,以许多不同的方式使用NuGet打包源代码。 我使用了一个nuspec文件来控制我的源文件最终会在nuget包中的位置,例如: 我没有包含任何msbuild目标文件或安装脚本。 每当我将NuGet包安装到.NET Core项目( https://docs.microsoft.com/en-us/dotnet/core/tools/csproj )时,我根本就没有得到任何东西。 我的项目中不会包含任何源文件。 我尝试了.csproj(PrivateAssets等)中的节点的不同设置,但没有成功。 这有可能吗? 如果是这样,应该怎么做? 背景: 这样做的原因是某种钻石问题,我们有项目B和C都使用辅助类A和第三个项目D使用B和C.在这种情况下,我不想处理不同时的汇编版本冲突(在B和C中使用了不兼容的A版本。

如何从nuget包中排除子目录和内容

所以我有一个网站,我正在尝试打包Octopus Deploy。 我有以下文件夹结构: Web | Views | WantThis Dontwantthis WantThis1 WantThis2 … (lots more) Scripts 我试图排除“Dontwantthisfolder” 所以我的nuspec看起来像这样: … … 它不起作用,我仍然得到“Dontwantthis”文件夹。 谁知道我怎么能做到这一点?

Visual Studio 2015,Nuget和“已经添加了相同的密钥”。

我有Visual Studio 2015 RC。 当我打开控制台应用程序或Windows Phone 8 Silverlight项目时,一切正常,我可以毫无问题地使用Nuget。 当我打开一个通用应用程序项目(Windows 8.1 + Windows Phone 8.1)时,Nuget会中断。 当我打开Nuget控制台时,我明白了 当我尝试使用Nuget GUI安装Nuget包时,我得到了同样的错误。 还有一件奇怪的事。 当我打开没有任何项目的VS2015 RC并打开Nuget控制台时,我没有收到错误。 然后,当我打开我的Universal App项目时,会出现错误。 我很确定它已连接到Universal App项目。 我在VS2013中测试了Universal App项目,一切正常,Nuget也没有问题。 我尝试了安装nuget包的所有步骤“已经添加了相同的密钥。” 但它没有帮助。 我想这是因为在我的情况下另一个文件夹可能已损坏。 在两台独立的机器上发生在我身上,两台都运行Windows 8.1 Pro,一台只有VS2015 RC,并且同时安装了VS2013 Pro和VS2015 Pro。

如何以编程方式读取packages.config中的NuGet包列表?

读取(最好是通过C#)packages.config文件中列出的软件包的最佳方法是什么? 在我们的源代码库中,我有很多解决方案和项目,同样还有很多packages.config文件。 我正在尝试在我的源代码存储库中构建一个正在使用的包(和版本)的整合列表。 我可以看到有一个NuGet.Core包可用 – 我怎么能用它来实现我的目标? 谢谢

为什么有些NuGet软件包同时提供了可移植库和特定于平台的软件包?

据我所知,可移植类库可以在许多平台上使用,基于库设计者选择支持的框架子集。 我注意到许多可通过NuGet获得的库也包含一个特定于平台的实现,并想知道这需要什么。 例如, Microsoft.Net.Http包附带了许多变体,包括: Net 4.0版本 WinRT(Windowsapp store应用)Windows 8版 便携式类库支持Net 4.0,WinRT等 为什么需要分发单独的.Net 4.0或WinRT版本的库? 便携式类库是否足够? 当我设计自己的自定义便携式库时,我应该遵守这个惯例吗? 为了清楚起见,我不是在讨论需要一小部分平台特定代码才能工作的可移植类库。 那些通常有一个附带的托管库,其名称以.PlatformServices结尾。 但我在谈论由NuGet包分发的核心库。

VS / NuGet如何决定创建csproj引用,这些差异意味着什么?

当我安装NuGet包时,它通常使用新引用更新我的proj文件,如下所示: False ..\packages\Newtonsoft.Json.4.5.11\lib\net40\Newtonsoft.Json.dll 这有两个部分,有时不添加: , Version=4.5.0.0… 和 False 每个设置有什么含义?NuGet如何选择在安装/更新包时指定哪个组合?