有一堆相关的问题在此,虽然大部分的答案定义罗斯林和/或提供“修复”一些问题(exe与托管服务提供商等)
我似乎无法追踪的是中的“为什么”和“目的”(也许仅在ASP.Net MVC / Web API的上下文中)/bin/roslyn。
我遇到了类似的问题(托管-.exe限制,支持4.6等),我的“解决方案”是“仅部署到Azure”(当然,一切正常。)但是实际上,这并不能回答:
- 为什么需要它们?
- 这是否意味着它们被用于runtime编译(我的大脑指出了这一点,但这是一个完整的猜测/我也许是错的骗子),如该SO帖子所示-除非更正,否则为“它”(下文中有更多介绍)。
- 似乎“删除软件包”是一个“修复” (根据过去的一些答案),但如果是这样,它(重新)会产生问题
我认为了解这一点将有所帮助-例如,我不能成为唯一看到.exe“需要”的人而扬眉的人。
更新资料
证明“隐藏的宝石”的存在:)我已经读了一遍又一遍...毕竟它已经存在了一段时间了-  但不是评论线程-最初引用的链接(大约在2014年)已由Microsoft和注释不再显示。幸运的是,下面是相关部分。
大错误-一直在盯着我(或至少自从这次交流以来):
Dmitry Dzygin 2015年6月2日上午12:53
我已经尝试了NuGet软件包的最新版本,但是加载/执行编译器的方式似乎有所不同。
在v0.2.0.0中,Roslyn编译器将被加载到内存中,从而极大地提高了具有多个* .as * x / *。cshtml文件的未预编译网站的性能。但是,新版本具有一个新
/bin/roslyn/csc.exe文件,该文件每个文件执行一次,从而完全删除了上述优化功能.....
金:
XMao 2015年6月2日下午1:22
@Dmitry的的工作
csc.exe中/bin/Roslyn是调用VBCSCompiler.exe,在同一文件夹它坐落。VBCSCompiler.exe是执行实际编译工作的过程。如果VBCSCompiler已经在运行,则csc.exe将对其进行重用,因此我们仍将获得所提及的性能改进。
嗯...
更新:10/2017
似乎这与所有时间有关,因此需要进一步更新。
@Donny V下面的答案是一个选择。通过完全编译您的应用程序(包括所有Views(.cshtml/ .vbhtml)),您无需exe在应用程序中使用它。
即使Visual Studio(到今天,VS 2017,令人困惑)仍会/bin/roslyn在Publish过程中创建及其内容,即使设置了“ full compile”,也是如此。
您可以通过测试该排除的/bin/roslyn文件夹,并推动应用程序到你的托管服务提供商时,它的内容。
警告:
如前所述,完全编译您的应用程序意味着您必须重新编译它,即使是View更改级别也是如此。