C# 由于NuGet包还原错误,.NET项目的VS生成失败
我正在Visual Studio 17中使用.NET 4.5.2处理一个MVC.NET项目,该项目由于以下错误而无法生成: 生成还原了NuGet包。再次构建项目以在构建中包含这些包。有关详细信息,请参阅 我的PostSharp版本是4.1.30 每次我构建或重建项目时都会发生此错误,并且在连续构建多次后不会消失。错误发生在引用PostSharp的几个项目中 只有在解决方案中进行更改后,才会发生错误。如果我签出Trunk的新副本,我可以加载网站。只有在有机会发生这些错误之后。更改可能很小,例如在错误引用的不相关项目中添加新的控制器文件 我尝试过恢复我的NuGet软件包,重新启动我的机器,甚至删除我的repo,重新检查Trunk的干净安装。我怎样才能克服这个错误?我不确定这是否确实与PostSharp有关,或者与更普遍的NuGet错误有关 在查看.csproj文件以查看其中一个项目中出现错误的原因后,我发现以下几行:C# 由于NuGet包还原错误,.NET项目的VS生成失败,c#,visual-studio,nuget,postsharp,build-error,C#,Visual Studio,Nuget,Postsharp,Build Error,我正在Visual Studio 17中使用.NET 4.5.2处理一个MVC.NET项目,该项目由于以下错误而无法生成: 生成还原了NuGet包。再次构建项目以在构建中包含这些包。有关详细信息,请参阅 我的PostSharp版本是4.1.30 每次我构建或重建项目时都会发生此错误,并且在连续构建多次后不会消失。错误发生在引用PostSharp的几个项目中 只有在解决方案中进行更改后,才会发生错误。如果我签出Trunk的新副本,我可以加载网站。只有在有机会发生这些错误之后。更改可能很小,例如在错
<Import Project="packages\PostSharp.4.1.25\tools\PostSharp.targets" Condition="Exists('packages\PostSharp.4.1.25\tools\PostSharp.targets')" />
<Target Name="EnsurePostSharpImported" BeforeTargets="BeforeBuild" Condition="'$(PostSharp30Imported)' == ''">
<Error Condition="!Exists('packages\PostSharp.4.1.25\tools\PostSharp.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://www.postsharp.net/links/nuget-restore." />
<Error Condition="Exists('packages\PostSharp.4.1.25\tools\PostSharp.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://www.postsharp.net/links/nuget-restore." />
</Target>
我试图删除它,看看会发生什么,但可能令人惊讶的是,它没有生成,也没有报告任何错误 这看起来像是升级PostSharp NuGet软件包的问题。在.csproj文件中,安装了PostSharp 4.1.25,但您说您正在使用PostSharp 4.1.30 以下其中一项可能会有所帮助:
- 将packages.config中的包版本更改为4.1.25,检查项目是否已生成,然后根据需要使用NuGet package manager升级到新版本
- 或者从packages.confing和.csproj(显示的行+对PostSharp.dll和任何其他PostSharp.*.dll的引用)中删除PostSharp,然后使用NuGet package manager安装PostSharp
请注意,PostSharp 4.1不再受支持。有关受支持版本的列表,请参阅。能否尝试从本地文件夹中删除所有包并重新生成项目?别忘了备份文件夹..:D.@Sham-你指的是哪个软件包,来自哪个文件夹?我在窗户上。只是确认一下!可以安全地删除项目文件夹中的packages文件夹,以强制NuGet再次恢复。不过,这对我来说似乎是一个尖锐的问题。在解决方案目录中存在
.sln
的地方会有一个文件夹名packages
。我是否也应该从错误提到的没有“packages”文件夹的项目中删除“packages.xml”?我只能在我的startup projects文件夹中找到一个packages文件夹(总共有42个项目)。