'Serilog'已经为'Microsoft.CSharp'定义了一个依赖项

时间:2016-08-01 18:39:18

标签: serilog rollingfilesink

我正在尝试安装serilog并且我收到错误

  

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

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

3 个答案:

答案 0 :(得分:8)

正如@ Tieson T.所说,从Visual Studio Window更新“Visual Studio的Nuget包管理器”>工具>扩展程序和更新>单击“更新”选项卡。选择Nuget插件并更新。然后在安装完成后重新启动visual studio。我试过(Windows 8.1 64bit和Visual Studio 2013 Ultimate)并且它可以工作。

答案 1 :(得分:1)

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

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

这样做的缺点是你必须检查你修改过的文件夹,这样MSBuild就不会尝试恢复它们。

答案 2 :(得分:0)

请执行以下两个步骤,它适用于我或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服务器