我和Nuget有一个令人困惑的问题。我有许多项目声称在版本 1.3.0 时安装了System.Collections.Immutable但是如果我查看所有参考文件中的dll版本,我会看到版本 1.2。 1.0
当我用JustDecompile打开DLL时,我看到了 声明DLL版本确实 1.2.1.0 ,但已安装在目录 packages \ System.Collections.Immutable.1.3.0
中典型的packages.config文件将包含
<package id="System.Collections.Immutable" version="1.3.0" targetFramework="net452" />
并且csproj是
<Reference
Include="System.Collections.Immutable, Version=1.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\System.Collections.Immutable.1.3.0\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath>
<Private>True</Private>
</Reference>
如果我尝试从图库中打开下载的nuget包并使用nuget package explorer打开,我会
答案 0 :(得分:3)
NuGet包版本和程序集版本不一定相同。对两者中使用的版本没有限制。
因此,查看System.Collections.Immutable 1.3.0,NuGet包中的程序集的程序集版本为1.2.1.0。
如果您无法在NuGet Package Explorer中打开NuGet包,可以在zip文件应用程序(如7-zip)中打开它。或者只是将文件重命名为.zip并使用内置的Windows zip文件提取器打开它。
答案 1 :(得分:0)
最近遇到了同样的问题。 always @(*) begin
if (condition_a) begin
if (condition_b) begin
A_next = Y;
end else begin
A_next = X;
end
end else begin
A_next = 0;
end
end
是一个多目标程序包,因此导入到您的解决方案中的程序集的版本取决于目标。例如,如果您在.Net Framework项目中,则这是将存储在System.Collections.Immutable
中的文件,因此将使用不同的版本。