标签: nuget-package

Team Foundation Server 2010和NuGet包文件夹

我一直在使用Visual Studio 2010中的NuGet包管理器向我们的项目添加第三方依赖项,例如NUnit,Elmah等.默认情况下,这些依赖项安装在与sln文件相同级别的packages文件夹中.

是否有控制此文件夹的创建位置,理想情况下,包文件夹自动添加到版本控制.我知道我可以手动将文件夹移动到我们当前的lib文件夹,但是如果可能的话,我宁愿配置devenv以确保我们可以通过Package Manager进行升级.

谢谢.

tfs2010 visual-studio-2010-sp1 nuget-package

26
推荐指数
1
解决办法
5141
查看次数

JSON.NET如何引用?

我刚刚安装了Json.Net软件包,现在我想知道如何将其导入到我的项目中?我首先尝试"使用Newtonsoft.Json;" 但那还没有到来.我试图通过首先添加对我的项目的引用来寻找它,但我也找不到它的列表?我也似乎无法找到其他任何有这个问题或任何方向进行一些快速Google搜索的人.请告诉我这是多么容易......

import visual-studio-2010 json.net nuget-package

26
推荐指数
3
解决办法
8万
查看次数

如何解决"Install-Package:当前环境没有打开解决方案".

我有一个项目的解决方案.打开包管理器控制台,运行Install-Package MSBuildTasks但它在下面给出了一个错误:

Install-Package : The current environment doesn't have a solution open.
At line:1 char:16
+ Install-Package <<<<  MSBuildTasks 
    + CategoryInfo          : InvalidOperation: (:) [Install-Package], InvalidOperationExcep 
   tion
    + FullyQualifiedErrorId : NuGetNoActiveSolution,NuGet.PowerShell.Commands.InstallPackage 
   Command
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样.请建议我等待回复.谢谢

msbuild-task visual-studio nuget-package visual-studio-2012

24
推荐指数
1
解决办法
3万
查看次数

我是否必须包含所有System.Collections.Immutable依赖项?

我只是从(一个较旧的)Microsoft.Bcl.ImmutableNuGet包切换到System.Collections.Immutable并且很惊讶在我的项目中找到所有这些新的包依赖项:

System.Collections
System.Diagnostics.Debug
System.Globalization
System.Linq
System.Resources.ResourceManager
System.Runtime
System.Runtime.Extensions
System.Threading
Run Code Online (Sandbox Code Playgroud)

它们被列为NuGet包的依赖项,因此它们有权在那里,但它们显然也已经安装在我的PC和我的目标环境(Azure btw)上,因为它们随框架一起提供.

我已经在我的项目中有大量的软件包,并且如果可能的话,我希望避免由这8个软件包引起的额外开销(并且不会在脚下拍摄自己).

删除这些依赖项是否安全?
我现在是否必须在整个项目中使用这些软件包,因为它们可能与已安装的版本不同,我的项目的某些部分现在可能使用了错误的软件包?(由于某些DLL连接疯狂?)

编辑:只是为了完整性,因为之前有一个评论:依赖项是实际的包(不是名称空间),必须下载,我的目标是使用.NET 4.6进行编译,在VS2015中工作.虽然有些东西已经过时且包装不需要正常加载,但这是完全可能的吗?

.net c# nuget nuget-package immutable-collections

24
推荐指数
1
解决办法
7279
查看次数

找不到'jquery'的类型定义文件

我刚刚在NuGet上运行更新来更新我的软件包.之后,我无法再编译,我收到上述错误.

jquery定义文件在我的项目中.但由于某种原因,引导程序定义文件无法再找到它.

自从我参与这个项目以来已经有一段时间了.我很确定在更新之前我的定义文件在一个完全不同的目录中.但是大多数代码和文件结构都是由Visual Studio NuGet包自动创建的.

这些链接或引用位于何处,以便可以正确找到定义文件?我是TypeScript的新手,所以如果你能详细解释或提供进一步阅读的链接,我们将不胜感激

代码和错误

文件树


编辑:

我发现这些被称为Triple-Slash指令.但那些页面并没有告诉我足够理解这个错误.

它告诉我<reference types="..."/>应该用于@types我相信.d.ts文件的包.我尝试将名称更改jquery.d.tsindex.d.ts.我试过把整个路径包括在内../jquery/jquery.d.ts.这些都没有奏效.

最后,我发现以下行angular.d.ts:

/// <reference path="../jquery/jquery.d.ts" />
Run Code Online (Sandbox Code Playgroud)

我将其复制到引导程序中index.d.ts,这似乎可以解决错误.

但这对我来说没有意义.首先,我正在尝试链接到定义文件,而不是TypeScript文件.所以我应该使用reference types,而不是reference path根据上面的文章.但是reference types不起作用.我在这里错过了什么?

文章还说:

只有在手动创建d.ts文件时才使用这些指令.

我没有写这些文件.他们来自NuGet,看起来是自动生成的.那我为什么需要改变呢?

jquery visual-studio nuget-package twitter-bootstrap typescript

24
推荐指数
1
解决办法
8763
查看次数

NuGet:如何使用Install.ps1文件更改文件的属性?

我正在创建NuGet包,为此我创建了Nuspec清单文件.在content文件夹中我有两个文件,test.exetest.config.现在,当任何用户安装此软件包时,我想将这些文件的"复制到输出目录"的属性更改为项目中的"始终复制".

我发现相关问题NuGet如何将属性应用于文件,显示可以使用PowerShell install.ps1脚本执行此操作,但我不知道如何创建该文件.

powershell nuget nuget-package

23
推荐指数
2
解决办法
7987
查看次数

Visual Studio:NuGet包源需要凭据

Visual Studio 2012 > Tools > Options > Package Manager > Package Sources
Run Code Online (Sandbox Code Playgroud)

我添加了一个指向myget.org网址的新Package Source:

http://www.myget.org/F/myfeed/

VS > Tools > Library Package Manager > Manage NuGet Packages for Solution...
Run Code Online (Sandbox Code Playgroud)

我现在被提示输入myget凭据.显然,开发人员每次使用myget包时都必须手动输入凭据,这是不方便的.

此博客介绍了如何在机器级NuGet.config中存储凭据:

https://gist.github.com/xavierdecoster/3205826

但在我按照步骤操作后,VS仍然会提示我输入凭据.

visual-studio nuget nuget-package myget

23
推荐指数
1
解决办法
3万
查看次数

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

这让我疯狂了几个月,我仍然无法实现它.我的托管库是从Nuget包中提取的,但不是本地的.

我们有一堆由其他公司提供的托管和本地库.我们有它们x86x64它们的版本.为了在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文件夹中提取的本机DLL 到runtime一个

我试图使用一些配置直接将它们复制到运行时文件夹中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托管的那个,但我不是100%肯定.(我也应该使用该build文件夹吗?)

我已经尝试了几件事(我记不起尝试次数,正如我所说的几个月的头痛......)就像这样的架构(我不明白这有什么意义,build/native还有本机文件夹runtimes) 在此输入图像描述

我还尝试使用此处描述的.NET框架版本结构用于托管库.

似乎也是解决方案的一部分

创建程序集引用时,编译器会忽略该体系结构.这是一个加载时间概念.如果存在,加载程序将更喜欢体系结构特定的引用. …

c# nuget nuget-package .net-core asp.net-core

23
推荐指数
1
解决办法
5190
查看次数

在构建期间,NuGet包文件未复制到项目内容

我正在使用VS2012专业版和NuGet Package Manager版本2.2.31210构建MVC4 Web应用程序.我的解决方案中有多个项目,所有项目共享我使用NuGet安装的各种软件包.我的一个项目是一个MVC4 Web应用程序,我使用的是使用NuGet安装的软件包,如bootstrap,jquery UI等.

当我从我的存储库克隆我的整个解决方案的新副本并构建我的MVC4项目时,包恢复功能似乎正在工作:它在解决方案direcotry下创建packages目录并填充它我将期望的所有软件包版本看到.但是,内容文件不会被复制到MVC app目录中的适当位置.奇怪的是,它确实为内容创建目录,但不会复制内容文件本身.

例如,我正在使用Twitter Bootstrap包,它出现在packages/Twitter.Bootstrap.2.2.2中.在MVC项目中,在Content目录中创建了一个名为bootstrap(包含css,img和js目录)的目录.但是,没有css或js文件被复制到这些目录中!

有没有人知道我必须说出什么神奇的咒语才能让构建从NuGet包目录中复制这些内容文件?

nuget nuget-package

22
推荐指数
2
解决办法
1万
查看次数

Nuget包生成Exclude lib文件夹

我正在尝试使用.nuspec文件生成nuget包.我们在一个屋檐下有几个项目,并尝试创建nLog.config(和转换文件)并通过nuget包分发它.对于任何版本的.Net Framework,我正在寻找相同的配置文件集(只配置没有dll).所以我真的不需要\ lib \net45\myproject.dll或\ lib \net40\myproject.dll.虽然当我生成nuget包时,它总是创建lib文件夹并包含dll.对于与.net框架版本相关的任何项目,哪种创建依赖关系.

下面是我的nuspec文件,以防有人想提及我做错了什么.我试过""和其他一些事情,但没有运气.

<?xml version="1.0"?>
<package >
  <metadata>
    <id>NLogConfig</id>
    <version>1.0.3</version>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <copyright>Copyright 2013</copyright>
    <dependencies>
      <dependency id="NLog" version="2.1.0" />
      <dependency id="NLog.Schema" version="2.1.0" />
    </dependencies>
  </metadata>
  <files>    
    <file src="NLog.config" target="content" />
    <file src="NLog.Debug.config" target="content" />
    <file src="NLog.UAT.config" target="content" />
    <file src="NLog.Release.config" target="content" />
    <file src="tools\*.*" target="tools"/>          
  </files>
</package>
Run Code Online (Sandbox Code Playgroud)

如何使用nuspec文件(首选)或其他机制完全排除lib文件夹?谢谢 !!

在此输入图像描述

更新1:

我试图偷偷摸摸但没有成功.我把post build事件和试图删除DLL.但不知何故系统很聪明,它给了我错误"错误79无法找到'C:\ GITRepo\NLogConfig\NLogConfig\bin\Release\NLogConfig.dll'.确保项目已经建成."

更新2

我没有找到使用.csproj来构建nuget包的方法,但是使用外部命令并指定nuspec文件我能够获得相同的结果.问题仍然存在,这只是我的解决方法.

.net c# nuget nuget-package visual-studio-2012

22
推荐指数
4
解决办法
1万
查看次数