我试图安装serilog,我收到错误
PM> Install-Package Serilog
安装包:'Serilog'已经有了
为“Microsoft.CSharp”定义的依赖项。在行:1 char:1
+ Install-Package Serilog
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo:NotSpecified:(:) [Install-Package],InvalidOperationException
+ FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
Microsoft.CSharp
已在我的项目中引用
作为@Tieson T. 说,从Visual Studio窗口>工具>扩展和更新>单击更新选项卡更新“Visual Studio的Nuget包管理器”。选择Nuget插件并更新。然后在安装完成后重新启动visual studio。我试过(Windows 8.1 64bit和Visual Studio 2013 Ultimate)并且它可以工作。
添加到此。我有一个类似的问题,但问题是由于我们的构建服务器基于TFS 2012并使用旧版本的MSBuild(我们无法在近期更新)。一切都在本地构建并运行良好,但是当构建服务器试图运行时,我们得到了同样的错误。
我找到的解决方法是进入解决方案的packages文件夹,找到有问题的软件包(在我的案例中是Serilog.2.3.0以及我安装的相关Sink软件包)。打开“lib”文件夹,您应该看到一些与各种.Net框架相关联的文件夹。删除与.Net Core版本对应的netstandard文件夹。
这样做的缺点是你必须检查你修改的文件夹,这样MSBuild不会尝试恢复它们。
请执行以下两个步骤,它适用于我或teamcity / jenkins
- 如果您仍在使用Nuget CommandLine 2.8,请尝试升级到3.5。
如果您使用私人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服务器