由于项目引用而导致构建失败

时间:2017-02-05 10:30:15

标签: visual-studio nuget

我正在与我在PC上运行良好的应用程序作斗争。然后,我重建了我的PC,并从我的GitHub克隆了应用程序,由于项目引用,我正在打造一个构建失败的VisualStudio。

几乎我查阅的每篇文章都表明需要在我的.csproj文件中修改某些内容,但是,我的应用程序上的这个文件似乎是通用的。

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <UseIISExpress>true</UseIISExpress>
  </PropertyGroup>
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <StartPageUrl>
          </StartPageUrl>
          <StartAction>CurrentPage</StartAction>
          <AspNetDebugging>True</AspNetDebugging>
          <SilverlightDebugging>False</SilverlightDebugging>
          <NativeDebugging>False</NativeDebugging>
          <SQLDebugging>False</SQLDebugging>
          <ExternalProgram>
          </ExternalProgram>
          <StartExternalURL>
          </StartExternalURL>
          <StartCmdLineArguments>
          </StartCmdLineArguments>
          <StartWorkingDirectory>
          </StartWorkingDirectory>
          <EnableENC>True</EnableENC>
          <AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>

我已经尝试从控制台重新安装update-package。我也试过直接删除packages文件夹,但仍然没有成功。我从VS得到的错误如下:

This project references NuGet package(s) that are missing on this computer.     
Use NuGet Package Restore to download them.  
For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. 
The missing file is ..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props.  
Riddles2017 C:\Users\Lemus\Source\Repos\The-Fox-The-Chicken-and-The-Corn\Riddles2017.csproj 268 

有人能指出我正确的方向吗?我的GitHub链接是:https://github.com/lemusthelroy/The-Fox-The-Chicken-and-The-Corn.git

1 个答案:

答案 0 :(得分:1)

您的解决方案文件存储在哪里? Nuget相对于解决方案文件恢复其包。回购似乎缺少解决方案文件并查看错误消息,它希望解决方案存在于您已克隆到的位置的父目录中。有点奇怪的选择,但它看起来像什么。因此,打开解决方案,保存解决方案(从文件菜单中)并将其存储在项目的父目录中。然后恢复nuget包。

您可能想要更改git仓库中的文件夹结构以包含解决方案文件,可以选择完全清除仓库并重新推送。

或者将解决方案文件保存在与项目相同的目录中并更新项目文件(如果必须,使用记事本)更改对&#34; ..\packages&#34;的所有引用。阅读&#34; .\packages&#34;,然后恢复nuget包。

正如您在错误消息中所看到的那样:

  

缺少的文件是 .. \ packages \ Microsoft.Net.Compilers.1.0.0 \ build \ Microsoft.Net.Compilers.props

相对于:

  

Riddles2017 C:\ Users \ Lemus \ Source \ Repos \ The-Fox-The-Chicken-and-The-   Corn \ Riddles2017.csproj 268

所以预期的结构是:

c:\users\lemus\Source\Repos
+- Mysolution.sln
+- \packages\
   +- \Microsoft.Net.Compilers.1.0.0\
+- \The-Fox-The-Chicken-and-The-Corn\
   +- Riddles2017.csproj

与您目前的结构相反:

C:\Users\Lemus\Source\Repos\
+- \The-Fox-The-Chicken-and-The-Corn\ 
   +- Mysolution.sln 
   +- \packages\
      +- \Microsoft.Net.Compilers.1.0.0\
   +- Riddles2017.csproj 

查看您的项目文件,这需要更改: