Answers:
在记事本(或notepad ++)中打开csproj文件,找到以下行:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
并将其更改为
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
这是一个全局解决方案,不依赖于特定的包装或纸箱。
就我而言,我从根目录中删除了Packages文件夹。
可能是因为您的软件包在那儿而发生了,但是编译器没有找到它的引用。因此,请先删除较旧的软件包,然后添加新软件包。
添加新程序包的步骤
这不是适当的解决方案,但我将其发布在这里,因为我遇到了同样的问题。
就我而言,我什至无法在Visual Studio中打开我的解决方案,并且在其他SO答案上也没有得到任何帮助。
Microsoft.CSharp.targets
文件由于某种原因被删除了!如您所说,我删除了该packages
文件夹并重新启动了Visual Studio,神奇地,它起作用了!
如果您遇到错误消息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
。您会找到一个链接,要求您重新加载,单击该链接,然后重新安装所有内容。
您的项目现在应该可以正常工作了。
就我而言,我在记事本中打开了.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')" />
好的,如果这样说:在gt / lt符号之间
导入Project =“ $(MSBuildExtensionsPath)\ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets” /
我该如何解决目标错误?
我还在演示项目中找到了导入字符串(特别是Rob Eisenburg的“ Build your own MVVM Framework”)。
如果用lomaxx建议的导入替换该导入,则VS2010 RTM报告需要安装此导入。
在安装了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)。
有时问题可能与.csproj文件中的VS硬编码版本有关。如果您的csproj中包含以下内容:
[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"
您应该检查数字是否正确(原因可能是项目是使用其他版本的Visual Studio创建的)。如果有误,请用当前版本的构建工具替换它,或使用VS变量:
[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"
Microsoft.CSharp.Targets
为。Microsoft.CSharp.targets
.csproj