Tag: nuget

从Nuget包中提取的自动本机和托管DLL

这让我疯狂了几个月,我仍然无法实现它。 我的托管库是从Nuget包中提取的,但不是本地的。 我们有一堆由其他公司提供的托管和本地库。 我们有x86和x64版本。 为了在ASP.NET Core项目中使用它们,我必须创建一个Nuget包。 我的架构是: 我更改为仅针对完整.NET Framework的ASP.NET Core类库。 这个项目引用了我的Nuget包 一个ASP.NET Core网站,也是针对完整的.NET Framework并引用类库 当然,最后,我需要将我的本机库提取到网站的正确运行时文件夹中(例如: \bin\Debug\net461\win7-x64 )。 目前我的解决方案是: 将本机库放在build文件夹中 创建一个targets文件,将它们复制到$(OutputPath) (甚至不是运行时文件夹) 将一些MsBuild命令添加到我的网站的xproj ,以获取$(USERPROFILE)\.nuget\packages\文件夹中的目标文件并执行它 手动将现在在bin文件夹中提取的bin机DLL复制到runtime DLL 我试图使用project.json一些配置将它们直接复制到运行时文件夹中(老实说,我不记得我为这部分尝试过的所有事情),但这总是失败。 即使我在目标文件中指定了SkipUnchangedFiles=”true” ,也只是忽略了这一点,并且在每次构建期间我的DLL都会被复制到我的bin文件夹中。 这是一个繁重的过程,只是为了实现DLL提取,现在我真的想摆脱所有MsBuild并获得一个更简单的解决方案。 我知道Nuget的新版本,它现在能够在没有添加自定义MsBuild命令的任何帮助的情况下原生提取它们。 如此处所写,C#项目甚至不需要targets文件 接下来,可能使用NuGet包的C ++和JavaScript项目需要.targets文件来标识必要的程序集和winmd文件。 (C#和Visual Basic项目会自动执行此操作。) 我在浏览器中打开了一个标签,持续了几个月( 原始链接 ),并且最近已经从Nuget网站上删除了这个资源。 它解释了如何使用runtimes文件夹自动提取本机DLL。 然而,我从未能够得到一个成功的结果,因为它被解释。 现在这个页面已被删除并被这个页面取代,只有很少的解释,而根本没有谈论这个runtimes文件夹。 我的猜测是我应该将runtimes文件夹用于本机DLL,而将lib用于托管,但我不是百分之百确定。 (我也应该使用build文件夹吗?) 我已经尝试了几件事(我记不起尝试次数,正如我所说的几个月的头痛……)就像这样的架构 (我不明白这里有什么build/native和build/native文件夹的意义runtimes ) 我还尝试使用此处描述的.NET框架版本结构用于托管库。 这似乎也是解决方案的一部分 创建程序集引用时,编译器会忽略该体系结构。 这是一个加载时间的概念。 如果存在,加载程序将更喜欢体系结构特定的引用。 可用于生成AnyCPU程序集的一个技巧是使用corflags从x86程序集中删除体系结构。 EG:corflags / 32BITREQ- […]

Newtonsoft.json汇编包版本不匹配

我正在尝试使用SocketIO4Net在.net中创建socket.io客户端。 看来SocketIO4Net依赖于Newtonsoft.Json> = 4.0.8。 我也在使用PushSharp库,其Newtonsoft.Json依赖关系> = 4.5.10。 当我第一次安装PushSharp时,我得到了NewtonSoft.Json 4.5.11,我认为这个版本应该支持SocketIO4Net,因为它的版本更高,但每当我尝试连接到socket.io服务器时都会收到此错误。 无法加载文件或程序集’Newtonsoft.Json,Version = 4.0.8.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed’或其中一个依赖项。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040) 我一直在为这些依赖性问题敲打我的脑袋,如果有人能指出我正确的方向,我将非常感激。

无法安装NuGet包

我正在尝试将Unity包添加到我的解决方案中,但我一直收到列出的消息: 试图解决依赖’Unity(≥3.5.1404.0)’。 ‘Unity’已经为’CommonServiceLocator’定义了依赖关系。 任何想法如何解决这个问题?

如何让.NET Core项目复制NuGet引用来构建输出?

我正在尝试使用.NET Core编写一个插件系统,我的一个要求是能够将插件DLL及其依赖项分发给用户进行安装。 但是,我无法弄清楚如何将我的NuGet依赖项作为构建工件包含在内,并将它们输出到构建文件夹,而不必将dotnet publish作为hack使用。 有什么方法可以在csproj中指定它吗?

Nuget连接尝试失败“无法加载源的服务索引”

在尝试连接到Nuget时,得到以下错误然后我无法连接: [nuget.org]无法加载源https://api.nuget.org/v3/index.json的服务索引。 发送请求时发生错误。 无法连接到远程服务器连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应68.232.34.200:443 我可以在浏览器上访问https://api.nuget.org/v3/index.json 。 这不是重复的。 其他答案并没有解决我的问题。