- Microsoft.Net.Compilers 是什么?
Microsoft.NET.Compilers 作为一个编译包,它为开源C#和Visual Basic 编译器提供了丰富的代码分析API 。要点是,与该包一起分发的编译器将用于编译项目,而不是.NET Framework或Visual Studio附带的编译器。最实际的直接好处是,它允许您的项目使用C# 6功能,然后允许这些项目构建在没有安装C# 6编译器的系统上,例如,在不希望安装完整的Visual Studio 2015的连续集成服务器上。
2.编译任何.cs文件并发出IL,不需要验证外部引用等。使用microsoft.net.compilers是否可行?
如果没有外部引用,无论有没有Microsoft.NET.Compiler,都不可能编译C。例如,重载解析需要引用的程序集。如果您确实有外部引用,那么从技术上讲,使用Microsoft.net.Compilers是可能的,但它确实是一个错误的工具。当相同的编译器已经在其他包中可用时,您将启动一个外部进程,您可以直接调用自己的程序。
可以在github上找到大量文档:https://github.com/dotnet/roslyn
查看维基百科以获取更多信息:en.wikipedia.org/wiki/.NET_Compiler_Platform
3.问题解决:
在文件的顶部,注释掉了引用的导入项目行:
<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="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists(‘$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props‘)" />
在文件的底部,对于相同的参考,在错误条件条目中执行相同的操作:
<ErrorText>此项目引用这台计算机上缺少的 NuGet 程序包。使用 NuGet 程序包还原可下载这些程序包。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText> <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‘))" />
原文地址:https://www.cnblogs.com/svinoce/p/11324360.html
时间: 2024-10-14 18:21:34