我正在使用Visual Studio 17中使用.NET 4.5.2的MVC.NET项目,该项目由于以下错误而无法构建:
该版本恢复了NuGet软件包。再次构建项目以将这些包包括在构建中。有关更多信息,请参见http://www.postsharp.net/links/nuget-restore。
我的PostSharp版本是4.1.30。
每次我构建或重建项目时都会发生此错误,并且在连续构建几次后不会消失。该错误发生在引用PostSharp的多个项目中。
仅当我在解决方案中进行更改后,才会发生错误。如果签出Trunk的新副本,则可以加载该网站。只有在有机会发生这些错误之后。更改可能很小,例如在不相关的项目中将新的控制器文件添加到错误所引用的位置。
我已经尝试还原我的NuGet软件包,重新启动计算机,甚至删除我的存储库,然后重新检查Trunk的全新安装。我如何克服这个错误?我不确定这是否与PostSharp有关,或更笼统的NuGet错误。
在.csproj文件中查找导致项目错误的原因后,我发现了以下几行:
<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>
我尝试将其删除以查看会发生什么,但是也许没有令人惊讶的是它没有构建并且没有报告任何错误。
答案 0 :(得分:2)
这似乎与PostSharp NuGet软件包的升级有关。在您的.csproj文件中,安装了PostSharp 4.1.25,但是您说您正在使用PostSharp 4.1.30。
以下其中一项可能会有所帮助:
请注意,不再支持PostSharp 4.1。有关受支持版本的列表,请参见https://www.postsharp.net/support/policies#support。