有很多关于StackOverflow上的C#编译器Roslyn和一般的互联网的讨论.很多人问罗斯林的原因和原因,而其他人则问如何摆脱它.
我的问题与后一个问题有关.正如Kemal Kefeli从这里引用的那样,但经常多次逐字迭代(例如迭代的另一个例子),以便删除Roslyn:
创建新的Web项目时,会自动将两个NuGet包添加到项目中.如果你删除它们,你的问题应该解决.包名称为:" Microsoft.CodeDom.Providers.DotNetCompilerPlatform "和" Microsoft.Net.Compilers ".
但是,如果您使用Roslyn提供的C#6功能,则此方法不起作用.通过删除这两个块包,您放弃了使用这些功能的任何机会.
我的问题是,你如何编译一切与罗斯林,但避免任何编译器在运行时发生的行为,最重要的是csc.exe,vbc.exe和VBCSCompiler.exe被放置在最终发布版本(在罗斯林文件夹).
我正在将StackOverflow的 Opserver移植到一个软件中.该软件允许用户从其中托管嵌入式Web服务器和网页.不过,该软件是什么,它允许被上传和可执行文件,就像那些在罗斯林文件夹中找到非常挑剔,都不会允许被上传,并在运行时执行,由于安全方面的原因.
Opserver依赖于C#6功能,因为如果删除这两个 NuGet包,则会在编译生成的文件中出错.但是,如果我更简单地恢复使用 C#5.0编译器严格编译,那么我们清楚地看到了这一点:
如果我离开的NuGet包存在,并且取消allow precompiled site to be updatable发布时,为了与编译后在运行时的文件,以禁止罗斯林为随后Rutix从"的评论在这里:
请记住,删除这些软件包[由Kemal Kefeli讲述]将打破C#6功能的使用.这可以通过取消选中"允许预编译的站点可更新"来解决,该预先编译视图等.
它仍然在Roslyn文件夹中生成可执行文件和相关的DLL,但是DLL却少得多.我怎样才能在运行时删除Roslyn依赖项,从而从输出版本中删除可执行文件并在编译时严格编译所有内容?
这个问题与Stack Exchange的Opserver监控套件有关:https://github.com/opserver/Opserver
Opserver中的大多数配置文件都是直截了当的.但是,我无法确定如何配置的一个部分是仪表板.
以下是DashboardSetting.json.example文件的片段:
{
...
"providers": [
{
"name": "Orion",
"type": "Orion",
"host": "orion.ds.stackexchange.com",
"connectionString": "Data Source=ny-utilsql01;Initial Catalog=SolarWindsOrion;Integrated Security=SSPI;Timeout=10"
}
]
}
Run Code Online (Sandbox Code Playgroud)
从我可以收集的内容来看,这个"Orion"提供程序类型具有一个支持数据结构,该数据结构存在于SQL数据库中,并且一旦指向,就会提供与要监视的服务器有关的信息.
我遇到的问题是我不知道如何在我的环境中设置它.我无法找到要运行的任何数据库设置脚本或描述仪表板设置的文档.
我下载了在SQLPass上看到的opserver.我似乎无法用它做任何事情.我尝试用VS 2008,VS 2010打开它并不断出现不兼容的错误.我应该使用什么版本的VS?我是一个新手,所以我在一个真正陌生的领域.下载后我该怎么办?在任何地方都有分步说明吗?