我尝试在Visual Studio 2005中打开Visual Studio 2008 项目时遇到此错误:
找不到导入的项目“C:\ Microsoft.CSharp.targets”。
答案 0 :(得分:108)
在记事本(或记事本++)中打开csproj文件 找到这一行:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
并将其更改为
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
答案 1 :(得分:48)
这是一个全局解决方案,不依赖于特定的包或bin。
就我而言,我从根目录中删除了 Packages 文件夹。
也许是因为你的软件包在那里,但编译器没有找到它的参考。所以先删除旧包,然后添加新包。
添加新软件包的步骤
这不是正确的解决方案,但是我在这里发布了它,因为我面临同样的问题。
在我的情况下,我甚至无法在visual studio中打开我的解决方案,也没有得到任何有关上述答案的帮助。
答案 2 :(得分:14)
对我来说,问题是项目的路径包含%20个字符,因为git在克隆存储库时添加了那些而不是空格。另一个问题可能是如果包的路径太长。
答案 3 :(得分:11)
这个link on MSDN也有助于理解它不起作用的原因。 $(MSBuildToolsPath)是Microsoft.Build.Engine v3.5的路径(在VS2008中创建时自动插入项目文件中)。如果您尝试为.Net 2.0构建项目,请确保将此路径更改为$(MSBuildBinPath),这是Microsoft.Build.Engine v2.0的路径。
答案 4 :(得分:9)
在我的情况下,我无法在我的解决方案中加载一个 5个项目。
帮助关闭Visual Studio ,我不得不在Microsoft.Net.Compilers.1.3.2
文件夹下删除 packages
nuget文件夹。
然后,再次打开您的解决方案并按预期加载项目
为确保在删除文件夹之前关闭VS的所有实例。
答案 5 :(得分:6)
我以前在csproj文件中有以下这一行:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
删除此文件后,它可以正常工作。
答案 6 :(得分:5)
如果您遇到Microsoft.CSharp.Core.targets not found
的错误,这些是我纠正错误的步骤:
打开任何以前的工作项目文件夹并导航到错误中显示的链接,即Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/
并搜索Microsoft.CSharp.Core.targets
文件。
复制此文件并将其放入非工作项目tools folder
(即导航到非工作项目中的tools文件夹,如上所示)
现在关闭您的项目(如果已打开)并重新打开它。
现在应该可以了。
另外,要确保在现在打开的Visual Studio项目中一切正常,请转到Tools > NuGetPackage Manager > Manage NuGet Packages For Solution
。在这里,您可能会发现一个错误,即其他应用程序正在使用CodeAnalysis.dll。
再次,转到tools folder
,找到指定的文件并将其删除。回到Manage NuGet Packages For Solution
。您将找到一个链接,要求您重新加载,单击它并重新安装所有内容。
您的项目现在应该正常运作。
答案 7 :(得分:3)
重新安装Windows后我得到了这个。安装了Visual Studio,我可以在New Project窗口中看到Silverlight项目类型,但打开一个不起作用。解决方案很简单:我必须安装Silverlight Developer运行时和/或用于Visual Studio的Microsoft Silverlight 4工具。这可能看起来很愚蠢,但我忽略了它,因为我认为它应该可行,因为Silverlight项目类型可用。
答案 8 :(得分:2)
对于Microsoft.WebApplications.targets
的错误,您可以:
Microsoft.WebApplication.targets
”从开发计算机文件复制到TFS构建计算机。Here's帖子。
答案 9 :(得分:2)
就我而言,我在记事本中打开了我的.csproj文件并删除了以下三行。工作就像一个魅力:
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />
答案 10 :(得分:2)
好吧如果这样说:在...之间 gt / lt标志
导入 项目= “$(MSBuildExtensionsPath)\微软\ Silverlight的\ 3.0 \ Microsoft.Silverlight.CSharp.targets” /
如何修复目标错误?
我还发现在演示项目中导入字符串(特别是Rob Eisenburg的“构建你自己的MVVM框架”)。
如果您将该导入替换为lomaxx建议的VS2010 RTM报告您需要安装this。
答案 11 :(得分:1)
在安装SL 5的同时打开SL 4中构建的Silverlight项目时,也会发生此错误。
以下是一个示例错误消息:找不到导入的项目“C:\ Program Files(x86)\ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.targets”。
请注意v4.0。
要解决,请编辑项目并找到:
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
并将其更改为v5.0。
然后重新加载项目,它将打开(除非您没有安装SL 5)。
答案 12 :(得分:0)
我删除了obj文件夹,然后按预期加载项目。
答案 13 :(得分:0)
有时问题可能出在.csproj文件中的硬编码VS版本。如果你的csproj有这样的东西:
[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"
您应该检查数字是否正确(错误的原因可能是项目是使用其他版本的Visual Studio创建的)。如果错误,请将其替换为当前版本的构建工具或使用VS变量:
[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"
答案 14 :(得分:0)
我在执行Ansible剧本时遇到了这个问题,所以我想在这里加2美分。我注意到有关丢失Visual Studio 14的警告消息。Visual Studio版本14于2015年发布,解决此问题的方法是在Azure DevOps代理的主机上安装Visual Studio 2015 Professional。
答案 15 :(得分:0)
尝试还原后,关闭VS,删除失败的软件包,重新打开,尝试还原,多次,我只是删除了软件包中的所有内容,当我进行还原时,效果很好。
答案 16 :(得分:0)
对我来说,问题是路径.. 克隆名称中有空格的项目时。项目文件夹被命名为 "Sample%20-%205"
而不是它应该的名字:"Sample - 5"
打开项目没问题,但构建失败
<块引用>找不到文件: /packages/Microsoft.Net.Compilers.1.3.2/tools/Microsoft.CSharp.Core.targets