Visual Studio 不加载项目引用

问题描述 投票:0回答:6

我的电脑上有一个 Visual Studio (Community 2013) 解决方案,其中包含许多 C# 项目,并且我刚刚从 Windows 7 升级到 Windows 10。该项目使用 .Net Framework 4.0 Client Profile。在 win7 上一切正常,但现在其中一个项目似乎没有加载引用。引用的项目附近有黄色三角形,这些不是从同一解决方案引用的项目(因此未加载 NuGet 下载的系统和引用)。

“资源”是解决方案中的另一个项目,其他项目不是。当我打开系统引用的属性选项卡时,Path 字段为空,因此

Resolved
字段为
False
...

此外,在 .csproj 文件中,一切似乎都正常,需要时有

<HintPath>

节点,具有相对(或绝对,如果引用位于另一个驱动器上)和正确的现有路径。

另一个奇怪的事情:在对象浏览器中,所有引用(似乎)都已加载:

那么,我该怎么办:

重新创建项目文件(通过创建新项目并再次添加所有文件和引用);
  • 更改项目配置中的某些内容;
  • 使用较新版本的.Net;
  • 更改VS配置中的某些内容;
  • 使用另一个VS(例如Community 2015)或重新安装当前的VS?
.net visual-studio visual-studio-2013 windows-10 csproj
6个回答
20
投票

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> </Target>

这导致项目被破坏。 

要解决此问题

,请将缺少的目录复制到项目中(使用旧版本的 Visual Studio/NuGet 或从拥有该目录的同事处获取),或者只需从项目文件中删除上述部分即可。 为了获得最佳效果,还请删除:

<RestorePackages>true</RestorePackages>

<Import Project="$(SolutionDir)\.nuget\nuget.targets" />

来自项目文件!

在此处查找有关该主题的更多信息:

http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html

http://docs.nuget.org/consume/package-restore/migration-to-automatic-package-restore

https://learn.microsoft.com/en-us/visualstudio/ide/troubleshooting-broken-references


4
投票


3
投票

将您的项目加载到 VS 中并在项目属性页面(目标框架)中更改它,升级到 .NET 4.x(不是客户端)或 .NET 4.5


0
投票

将解决方案文件与最新的进行比较。我这样做了,并意识到 Visual Studio 本身为 x86 添加了很多配置,这导致了问题,即使我尝试使用 x64 进行构建。签出文件然后撤消更改就成功了。


0
投票


0
投票

构建 --> 清洁解决方案
  1. 构建 --> 重建解决方案。
  2. 这在我的解决方案目录中创建了包文件夹,其中包含所有必需的引用,并成功解析了项目引用。

© www.soinside.com 2019 - 2024. All rights reserved.