0

我已经看到 NuGet.exe 在安装包时包含一个 ExcludeVersion 标志。我们有一个已经包含大量参考的解决方案。例如:

<Reference Include="Microsoft.SqlServer.Smo, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\Microsoft.SqlServer.Scripting.11.0.2100.61\lib\Microsoft.SqlServer.Smo.dll</HintPath>
</Reference>

是否有一种简单的方法可以更新所有这些现有引用,使其在文件夹路径中不包含版本号(上面的 11.0.2100.61)?最初这些引用都是使用 Visual Studio 中的包管理器添加的,但我看不到任何指定不包含版本号的方法。

4

1 回答 1

0

简短的回答。

不,那里没有。

看到这个: https ://nuget.codeplex.com/workitem/1522

我认为你必须:

  1. 运行 VS 工具:Uninstall-Package Microsoft.SqlServer.Smo

  2. 使用 ExcludeVersion 标志运行 NuGet 命令行。

    C:\WhereeverYouPutThis\NuGet.exe 安装 Microsoft.SqlServer.Smo -ConfigFile "..nuget\nuget.config" -ExcludeVersion

  3. 重新做你的参考。

是的,那很臭。

我的 nuget.config 文件看起来像这样,仅供参考。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <add key="repositoryPath" value="..\MyPackages" />
  </config>
</configuration>
于 2013-09-03T19:30:10.143 回答