Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 引用的组件';系统&x27;找不到。(或该事项的任何其他组成部分)_Visual Studio_Visual Studio 2008 - Fatal编程技术网

Visual studio 引用的组件';系统&x27;找不到。(或该事项的任何其他组成部分)

Visual studio 引用的组件';系统&x27;找不到。(或该事项的任何其他组成部分),visual-studio,visual-studio-2008,Visual Studio,Visual Studio 2008,问题:今天刚开始,对解决方案之外的任何程序集的所有引用都无法解析,无法找到引用的组件“SomeComponent”。尝试生成时。第三方组件(全部15个左右)以及所有.NET Framework程序集都会发生这种情况——基本上是指不是同一解决方案中的另一个项目的任何组件 尝试加载其他一些解决方案也会产生同样的问题。但是,创建一个新的WinForms项目没有问题。(从头开始,它在重新安装VS之前就起作用了,现在也不起作用了。我创建了一个新的WinForms应用程序和一个WPF应用程序,设计师也无法加

问题:今天刚开始,对解决方案之外的任何程序集的所有引用都无法解析,无法找到引用的组件“SomeComponent”。尝试生成时。第三方组件(全部15个左右)以及所有.NET Framework程序集都会发生这种情况——基本上是指不是同一解决方案中的另一个项目的任何组件

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

我尝试过的事情:

  • 修复Visual Studio安装
  • 重新启动计算机
  • 使用/resetsettings标志启动VS
  • 系统还原到2天前,当时已知系统正在工作
  • 卸载VS并重新安装
  • 从SVN重新结账
有没有人有这方面的经验,知道如何让它再次工作?我最强的谷歌fu让我失望了,所以我在这里发问。如果需要,可以标记社区wiki

更新: 我尝试“升级”Windows(到相同的版本),因为我没有看到Vista的修复选项,而且仍然是不可能的。我重新安装了所有看起来相关的东西。到目前为止,我想我只是需要备份并重新格式化,除非在明天之前找到解决方案

更新2:
我只是备份了数据并重新格式化,所以我无法再验证任何我还没有尝试过的想法,因此,我将把悬赏留给投票结果最差的答案,并作为以后可能遇到此问题的任何其他人的参考。

建议的下一个调试步骤:查看项目设计器:参考->参考路径以验证系统和第三方组件的路径是否正确显示。(当心那些像驱动器号一样从我的眼球上滑过的旧标记。)

我不想这么说,但听起来这个系统好像有点问题。在一定程度上,重新安装操作系统要比继续尝试修复当前安装更快


我只是希望你能以正确的精神来对待这件事。。。抱歉。

尝试在使用fuslogvw对程序集加载日志进行图灵处理后运行VS。当运行时试图定位和加载程序集时,您将能够看到它捕获的其他错误

在Vista中,您必须以管理员身份运行fuslogvw,有时还需要指定一个显式路径来保存日志


您也可以尝试通过从另一个实例附加到Visual Studio,或使用.NET SDK附带的基本调试器来调试Visual Studio。

这里是在黑暗中拍摄的,但我遇到了相同(类似)的问题。我遇到的问题与拥有一台64位机器和运行一个混合了64位和32位第三方dll的项目有关。解决方案是确保我有正确的位(32v64),然后以32位模式构建项目:项目属性>构建>平台目标:x86

另一次发生这种情况时,我不得不删除所有64位dll,并用32位dll重新安装


HTH的

使用ILDASM检查您的输出,以确保引用正确显示——将它们与正常工作的程序集进行比较,看看是否有任何东西跳出您的视线。

同一解决方案中的其他项目的引用也可能有问题。我只想构建一个项目,但得到了关于另一个项目中引用的消息。虽然另一个项目中的问题是正确的,但我认为信息是不正确的:

  • 我没想到会有关于另一个项目的消息(另一个项目没有依赖关系,因此不需要构建)
  • 我无法“解释”它,因为它没有提到它所涉及的项目)

  • 好的,如果你点击VS 2012 RC中的错误,然后调试它,错误就消失了…

    不久前我遇到过类似的问题

    我发现这个问题是由git在从一个分支跳到另一个分支时没有正确创建.exe引起的(我们在一个路径中有nuget.exe,它在跳分支时被删除/添加)。当您尝试运行nuget时,windows会对exe进行测试

    在多次重置分支后,我最终使exe正常运行。然后我注意到repo中所有目录的安全性都被重置了,所以我不得不处理这个问题

    在这一切之后,VisualStudio开始表现得很好


    希望这能帮助别人

    在我的情况下,解决方案完全不同。这看起来像是NuGet路径的问题(由我将项目移到另一个解决方案,然后再移回来引起)

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


    然后系统组件神奇地重新出现。

    我也遇到了同样的问题。结果表明NuGet出现了问题。我删除了
    *.csproj
    -文件(在文本编辑器中打开)的以下部分。这为我解决了问题:

    <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>
    
    
    此项目引用了此计算机上缺少的NuGet程序包。请启用NuGet程序包还原以下载它们。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105. 缺少的文件是{0}。
    
    我知道这是一个老问题,但它仍在最新版本的Visual Studio(2015)中出现。我以一种不同的方式修复了它,而这在问题提出时可能是不可用的。基本上,这与VS找不到.Net库包有关。要在最新版本的Visual Stu中修复它
     project
       /.nuget
       /submodule
         /.nuget
    
        <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  xxx.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('..\packages\...\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\...\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
    <Error Condition="!Exists('..\packages\NOT-Exist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NOT-Exist.targets'))" />
        </Target>