找不到引用的组件"System".(或该事项的任何其他组成部分)

Dav*_*vy8 34 visual-studio-2008 visual-studio

问题:刚刚开始,解决方案之外的任何程序集的所有引用都无法解决,The referenced component 'SomeComponent' could not be found.在尝试构建时.这种情况发生在第三方组件(所有15个左右)以及所有.NET Framework程序集中 - 基本上任何不是同一解决方案中的另一个项目.

试图加载一些其他解决方案产生了同样的问题.但是,创建一个新的WinForms项目没有问题.(从头开始重新安装VS之前,它已经工作了,现在也不起作用.我创建了一个新的WinForms应用程序以及一个WPF应用程序,设计师也无法加载程序集.我尝试了目标3.5和2.0而没有运气.)

我试过的事情:

  • 修复Visual Studio安装
  • 重新启动计算机
  • 用/ resetsettings标志启动VS.
  • 系统还原到2天前,当它已知工作
  • 卸载VS并重新安装
  • SVN全新结账

有没有人有这方面的经验,并知道如何让这个再次工作?我最强大的Google-fu让我失望了,所以我在这里问.如果需要,可以标记社区维基.

更新:我尝试"升级"Windows(到相同的版本),因为我没有看到Vista的修复选项,它仍然是一个禁忌.我重新安装了一切似乎相关的东西.到目前为止,看起来我只是需要备份和重新格式化,我想除非在明天之前出现解决方案.

Update2:我只是备份了数据并重新格式化了,所以我再也无法验证我还没有尝试过的任何想法,所以我只是让赏金自己到达最高投票答案并作为参考之后可能遇到此问题的其他人.

小智 54

我有同样的问题.事实证明,NuGet出了问题.我删除了*.csproj-File 的以下部分(在文本编辑器中打开).这解决了我的问题:

<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>
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用。但是,如果您的项目中确实有一些nuget软件包,那么明智的做法是在执行此操作后重新安装它们,以使该行正确恢复。在程序包管理器控制台中,键入Update-Package –reinstall &lt;package_name&gt;,并且&lt;Target&gt;应返回错误情况的正确目录位置。 (2认同)

Nan*_*nki 32

就我而言,解决方案完全不同.看起来这是NuGet路径的一个问题(由于我将项目移动到另一个解决方案然后又回来了.

我编辑了.csproj并删除了对NuGet和相关包的所有引用.我还从解决方案文件夹中删除了packages文件夹.

然后系统组件神奇地再次出现.


cha*_*aos 7

建议的下一个调试步骤:查看项目设计器:参考 - >参考路径以验证系统和第三方组件的路径是否正确显示.(注意可能会像驱动器号一样滑过旧的Mark I Eyeball的东西.)