11

我正在尝试安装 serilog,但出现错误

PM> Install-Package Serilog
Install-Package:“Serilog”已经
为“Microsoft.CSharp”定义了一个依赖项。在 line:1 char:1
+ Install-Package Serilog
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

Microsoft.CSharp已在我的项目中引用

4

3 回答 3

8

正如@ Tieson T.所说,从Visual Studio Window > Tools > Extensions and Updates > 单击Updates 选项卡更新“Nuget Package Manager for Visual Studio”。选择 Nuget 插件并更新。安装完成后重启Visual Studio。我试过(Windows 8.1 64bit & Visual Studio 2013 Ultimate),它工作正常。

于 2016-10-03T07:13:01.477 回答
1

添加到此。我有一个类似的问题,但问题是由于我们的构建服务器基于 TFS 2012 并使用旧版本的 MSBuild(我们无法在短期内更新)。一切都在本地构建并运行良好,但是当构建服务器尝试运行时,我们遇到了同样的错误。

我找到的解决方法是进入解决方案的包文件夹,找到有问题的包(在我的例子中是 Serilog.2.3.0 和我安装的相关 Sink 包)。打开“lib”文件夹,您应该会看到一些与各种 .Net 框架相关联的文件夹。删除与 .Net Core 版本对应的 netstandard 文件夹。

这样做的缺点是您必须像这样检查您修改的文件夹,因此 MSBuild 不会尝试恢复它们。

于 2016-10-07T19:59:02.743 回答
0

请执行以下 2 个步骤,它适用于我或 teamcity/jenkins

  1. 如果您仍在使用 Nuget CommandLine 2.8,请尝试升级到 3.5。
  2. 如果您使用私有 Nuget 服务器,请使用以下步骤更新 Serilog.2.3.0.nupkg:

    2.1 更新 Nuget Spec 文件:删除 ... ...

    2.2 删除文件夹 lib/netstandard1.0 和 lib/netstandard1.0

    2.3 然后将 Serilog.2.3.0.nupkg 重新部署到你的私有 Nuget 服务器

于 2017-02-18T00:35:41.850 回答