Que*_*ion 281 visual-studio nuget visual-studio-2015
我搜索了这个问题,但没有一个解决方案有效.我安装了Visual Studio Professional 2015,我正在使用TFS.我的NuGet版本是3.1.6.这个问题只发生在我的C#Web API/MVC项目中.
我收到以下错误:
此项目引用此计算机上缺少的NuGet包.使用NuGet Package Restore下载它们.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105.丢失的文件是..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props
DKR*_*DKR 342
我通过从.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>
Run Code Online (Sandbox Code Playgroud)
小智 253
我今天遇到了同样的错误(错过了完全相同的包).我还创建了一个MVC + Web API项目.
它发生的原因是我将应用程序文件(包括.csproj)文件移动到另一个位置.我手动更新了.sln文件,但现在所有的包依赖项(Visual Studio 2015)都存储在.csproj文件中.
编辑.csproj文件并更正解决方案文件夹(包含packages文件夹)的相对路径解决了我的问题.
小智 43
请注意 - 这会更新整个解决方案的软件包,而不仅仅是项目.
如果您还有一个缺少的nuget包在构建解决方案时出现错误,请使用工具> Nuget包管理器>包管理器控制台中的Nuget Command Console使用以下命令.它将重新安装您当前的所有包.
Update-Package -reinstall
小智 18
我有这个令人沮丧的消息.最终对我有用的是删除/ packages中的所有文件和文件夹,并让VS重新获取下一个版本的所有内容.
Tom*_*kel 15
提比略是对的.我必须编辑我的.csproj文件,因为文件被移动并导致了这个问题
<Import Project="..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
Run Code Online (Sandbox Code Playgroud)
我在文件顶部和底部更改了
<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
Run Code Online (Sandbox Code Playgroud)
Moh*_*wan 10
我通过从.csproj文件中删除以下代码解决了这个问题
<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. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets'))" />
Run Code Online (Sandbox Code Playgroud)
小智 8
两个答案的组合对我有用.首先,我修改了.csproj文件以删除对1.0.0版本的引用
< Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild" >
----Error---
< /Target>
Run Code Online (Sandbox Code Playgroud)
然后呢
Update-Package -Reinstall
Run Code Online (Sandbox Code Playgroud)
从它和它工作.
this way solved my error : To open .csproj file for update in Visual Studio 2015+ Solution Explorer:
Right-click project name -> Unload Project
右键单击项目名称->编辑.csproj
删除以下行:
<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. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
<Error Condition="!Exists('packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
</Target>
Run Code Online (Sandbox Code Playgroud)
右键单击项目名称->重新加载项目
最后构建您的解决方案。
只需启用NuGet Package Restore.右键单击解决方案>选择"启用NuGet包还原".
这将使用NuGet.Config文件创建.nuget文件夹并修复我的问题.
我通过以下步骤解决了同样的问题
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net46" />从 package.config 文件中删除了包。编辑 .csproj 项目文件并删除以下设置。
<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. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
</Target>
Update-Package –reinstall第 2 点和第 3 点是其他用户提供的,我感谢这些用户。第 1 点,Microsoft.CodeDom.Providers.DotNetCompilerPlatform从 package.config 文件中删除更重要。此外,在运行第 3 点中提到的命令后,问题解决了。删除了所有不需要的包并更新了所需的包参考。
希望这可以帮助某人。
我正在使用VS2012并面临同样的错误.我从.csproj文件中删除了以下Target标记,它开始编译时没有任何错误.
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
-- Error messages within Target Tag
</Target>
Run Code Online (Sandbox Code Playgroud)
对我来说,问题是当我将解决方案复制到新文件夹并打开它时,它缺少Nuget文件夹,如下所示.我复制了这个文件夹,一切正常.注意:这个文件夹在我们的源代码管理中,但在此解决方案项目中没有,它在一个目录中.
要在此处扩展一些答案,是的,您可以从.csproj文件中删除以下块:
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
这解决了这个问题,但在我的情况下,我注意到我对.NET.Compilers和.CodeDom.Providers有不同版本的附加引用:
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.0.1
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.3\
Run Code Online (Sandbox Code Playgroud)
当我的packages.config仅引用以下内容时:
<package id="Microsoft.Net.Compilers" version="2.0.1"
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.3"
Run Code Online (Sandbox Code Playgroud)
从.csproj文件中删除1.0.0项修复了该问题.
| 归档时间: |
|
| 查看次数: |
233084 次 |
| 最近记录: |