Tag: nuget

我们可以在NuGet中添加2个不同版本的相同包

是否可以在同一个项目中拥有2个不同版本的相同NuGet包(在我的例子中是jQuery 1.10.1和2.0.2)? 如果是的话,我们怎么做呢? 谢谢

是否需要bindingRedirect .config文件或应用程序中的所有程序集?

使用NuGet为具有多个dll和一个exe的解决方案安装Microsoft.Bcl.Async包,该解决方案使用所有其他dll,NuGet自动为每个项目创建一个.config文件(或添加到现有文件)Bcl包被添加到。 在实践中,我最终得到> 20个包含相同重定向的配置文件。 我理解重定向是必需的 ,但这实际上是所有程序集所必需的,因为它们都由一个应用程序加载(如果重要的话,其中一些是由Prism加载的)? 我从输出目录中删除了所有.config文件,只留下了app.config,应用程序似乎工作正常。 我的假设是正确的,一旦bindingRedirect在启动应用程序时生效,加载到该域的所有其他程序集也会自动使用重定向吗? 或者有任何警告吗? 我问的主要原因是要知道在重新分发应用程序时是否应该包含所有这些配置文件。

创建一个显示更新通知的NuGet包

我正在创建一个NuGet包,我希望每当包的更新存在于存储库(这是一个私有存储库,而不是官方的NuGet存储库)时,包都会显示通知。 请注意,我不希望程序包自动更新(如果新版本可能会引入一些问题),而只是通知用户。 为此,我在包中的init.ps1文件中添加了这个: param($installPath, $toolsPath, $package, $project) $PackageName = “MyPackage” $update = Get-Package -Updates | Where-Object { $_.Id -eq $PackageName } if ($update -ne $null -and $update.Version -gt $package.Version) { [System.Windows.Forms.MessageBox]::Show(“New version $($update.Version) available for $($PackageName)”) | Out-Null } 需要检查$update.Version -gt $package.Version以避免在安装较新的软件包时显示通知。 我想知道是否 这个解决方案是可以接受的,或者如果有更好的“标准”方法(而不是酿造我自己的解决方案)。 有一种更好的方式来显示通知,因为MessageBox相当烦人:当我打开项目时,它隐藏在“准备解决方案”对话框后面,直到我点击确定才完成操作。

发现System.Net.Http之间存在冲突

我的VS解决方案中有几个项目。 每当我将“System.Net.Http”NuGet包添加到一个它显示为版本4.2.0.0的包。 然后我也这样做并添加相同的NuGet包,然而,另一个说版本。 4.1.1.2 然后我收到警告: 发现System.Net.Http之间存在冲突 EDIT1: Gathering dependency information took 1.7 sec Attempting to resolve dependencies for package ‘System.Net.Http.4.3.3’ with DependencyBehavior ‘Lowest’ Resolving dependency information took 0 ms Resolving actions to install package ‘System.Net.Http.4.3.3’ Resolved actions to install package ‘System.Net.Http.4.3.3’ Retrieving package ‘System.Net.Http 4.3.3’ from ‘nuget.org’. Adding package ‘System.Net.Http.4.3.3’ to folder ‘C:\…Service\packages’ Added package […]

如何告诉nuget将包资源文件添加为链接,而不是将它们复制到项目目录中

简介(如何将资源打包到nuget包中) 要将一些资源文件打包到nuget包中,通常会执行以下操作。 将所有资源文件放入nuget包的content\目录中。 这将由.nuspec文件中的以下行指定: 现在,当这个nuget包安装到AnotherProject中时,会出现以下文件结构: Solution.sln packages\Project.1.0.0\content\js\script.js // the original resource file AnotherProject\js\script.js // a physical copy AnotherProject\AnotherProject.csproj // tag (see below) 在软件包安装过程中, AnotherProject.csproj注入了标签: 这是原始资源的物理副本(位于packages\目录下)。 实际问题(如何将资源打包到nuget包中作为链接) 我的目标不是在AnotherProject目录中拥有资源文件的物理副本,而是在packages\目录下拥有原始资源的“链接”。 在csproj中,这应该是这样的: js\script.js PreserveNewest 我宁愿避免的蛮力解决方案 现在,我能想到的一个“努力工作”的解决方法是: 不将资源文件放在content\因此它们不会自动添加, 编写将破解csproj文件结构的Install.ps1脚本并手动添加必要的XML部分, 然而,这具有以下缺点: 我的所有nuget包需要在他们的Install.ps1使用相同的脚本片段, 安装我的软件包时,Visual Studio中会出现一个令人讨厌的“项目重新加载提示”。

如何将共享C#NuGet依赖项添加到C ++ / Cli项目?

上下文:具有2个程序集,Cs和Cpp的Visual Studio解决方案。 Cs是C#/ .net45 dll Cpp是一个C ++ / Cli dll,一个用/ clr编译的C ++ DLL。 我有一些来自nuget.org的纯C#项目的依赖项。 我使用作者提供的原始包。 将它们添加到Cs项目工作正常,但不是Cpp。 如何将C#包添加到C ++项目中? 因为它是C ++ / Cli,所以我可以很容易地使用.net对象,并且我在C#库中使用例如来自C#库的东西。 但不知何故nuget只允许我选择C#项目来添加C#依赖,而不是C ++ / clr。

无法从UWP引用.NET Core库

我有一个带有以下project.json的.NET Core库 : { “version”: “1.0.0-*”, “dependencies”: { “NETStandard.Library”: “1.6.0” }, “frameworks”: { “netstandard1.6”: { } }, “scripts”: { “postcompile”: [ “dotnet pack –no-build –configuration Release”, “xcopy bin\\Release ..\\..\\lib\\ /Y” ] } } 其中后编译脚本创建了一个nuget包 ,我按照这些说明在VS中添加了自定义Feed。 这是因为我想从Windows通用应用程序中引用它 ,根据这个问题 ,它不能(否)。 但是当我尝试它时,我得到这样的信息: Package AEther 1.0.0 is not compatible with uap10.0 (UAP,Version=v10.0). Package AEther 1.0.0 supports: netstandard1.6 (.NETStandard,Version=v1.6) One […]

‘System.Data.Entity.Internal.AppConfig’的类型初始值设定项在子网站上引发了一个例外

我有2个网站,一个是另一个的子目录,但是是一个Application ex:/ root&/ root / Services 他们都使用Entity Framework 6.x,但子网站正在抛出System.Data.Entity.Internal.AppConfig的类型初始化程序’引发了一个exception,因为它看起来因为嵌套而看到同一个EF数据库提供程序的许多条目web.config中 有没有办法清除提供程序集合,以便我不会收到此错误? 我试过放入哪个没效果。 如果我注释掉提供者部分它是有效的 但我不想这样做,因为不是每个环境都会有嵌套网站。 并且NuGet倾向于将其重新插入。我可以通过编程方式进行调整吗? 这是完整的exception和堆栈跟踪 System.TypeInitializationException was unhandled by user code HResult=-2146233036 Message=**The type initializer for ‘System.Data.Entity.Internal.AppConfig’ threw an exception.** Source=EntityFramework TypeName=System.Data.Entity.Internal.AppConfig StackTrace: at System.Data.Entity.Internal.AppConfig.get_DefaultInstance() at System.Data.Entity.Internal.LazyInternalConnection..ctor(String nameOrConnectionString) at System.Data.Entity.DbContext..ctor(String nameOrConnectionString) at co.Repository.Data.coContext..ctor() in coModel.Context.Generated.cs:line 23 at co.Repository.RepositoryBase`1.SingleOrDefault(Expression`1 predicate) in co.Repository\RepositoryBase.cs:line 13 at UserFactory.GetOneByUserName(String siteCode, […]

通过NuGet安装InputSimulator,没有可访问的成员

在Visual Studio 2013中,我安装了一个名为“ InputSimulator ”的C#包。 在这样做之后,我看到一个新的引用被添加到我的项目“WindowsInput”中。 (即WindowsInput.dll) 问题是codeplex网站所讨论的方法都不可访问。 如果我尝试: InputSimulator.SimulateTextEntry(“Say hello!”); 我收到错误: Error 14 ‘WindowsInput.InputSimulator’ does not contain a definition for ‘SimulateTextEntry’ Blah.cs 33 32 ALibrary 我确实using WindowsInput作为指令。 有谁知道为什么这些方法无法访问? 像SimulateKeyPress()这样的方法也不可用。 这些是关键的API。 我是否遗漏了有关添加此库并引用它的内容?

.Net 2015带有黄色三角形的参考,用于便携式库上的Nuget包

我知道之前已经提出了这个问题,但没有一个建议的解决方案对我有用,所以我会再次提出这个问题并希望得到新的建议。 我读过的一些文章: 带有黄色三角形的VS .Net引用 当我添加对MEF插件项目的引用时,为什么会出现警告图标? 黄色三角形图标中的感叹号(解决方案资源管理器中) 我的5个可移植库肯定都是针对相同的框架(我已经检查并重新检查,因为这是其中一个建议!): .NET Framework 4.5 ASP.NET Core 1.0 Windows Phone 8 Windows Phone 8.1 Windows Phone Silverlight 8 Xamarin.Android Xamarin.iOS Xamarin.iOS(经典) 到目前为止我尝试/做过的事情: 从所有项目中手动删除Nuget包引用。 检查每个.csproj并确保确实删除了引用。 删除解决方案根目录中的packages文件夹 试图通过控制台管理器重新安装所有软件包。 没有错误,但仍然显示黄色三角形。 试图通过Nuget管理器重新安装所有软件包。 没有错误,但仍然显示黄色三角形。 这是我的一个便携式类库的一部分: ..\..\..\packages\Portable.BouncyCastle.1.8.1\lib\portable- net4+sl5+wp8+win8+wpa81+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10 \crypto.dll True ..\..\..\packages\Newtonsoft.Json.8.0.3\lib\portable- net40+sl5+wp80+win8+wpa81\Newtonsoft.Json.dll True ..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\portable- net40+sl4+win8+wp71+wpa81\System.Net.Http.dll True ..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\portable- net40+sl4+win8+wp71+wpa81\System.Net.Http.Extensions.dll True ..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\portable- net40+sl4+win8+wp71+wpa81\System.Net.Http.Primitives.dll True 我的物理项目路径是: C:\ XXXX \ […]