问题标签 [cs-script]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - CS-Script 是否提供开箱即用的沙盒功能?
我正在研究 cs-script,我想知道它的安全性如何,开箱即用。我知道脚本是动态加载和卸载的,但是该脚本可以逃脱其执行程序集吗?即它可以使用反射在同一进程中访问和实例化来自其他程序集的类吗?
所以我的问题是 cs-script 默认情况下是否带有内置安全性,或者它不会打扰?
c# - 如何在执行的 CSScript 中显示堆栈跟踪的行号?
我们将脚本托管在 out 应用程序中。在异常/崩溃时,我们希望查看堆栈跟踪中的行号。
在设置 CSScript 编译器时,我找不到包含调试信息的设置?
c# - 让 CefSharp 与 CSScript 配合得很好
我有一个使用CefSharp.OffScreen
浏览器来做一些抓取工作的应用程序。它在脚本环境中运行,使用 CSScript 执行动态加载的类,该类调用 CefSharp 来完成工作。
CefSharp 在bin
环境中工作得非常好。 甚至还有一种方法可以将所有 CefSharp 文件放在他们自己的文件夹中,使用ProbingPath
. 但这仅在 CefSharp 与您的主要可执行文件在同一文件夹中或在ProbingPath
您设置的文件夹中运行时才有效。 ProbingPath 只能设置为可执行路径的子文件夹。
CefSharp 是从我编写的一个名为MyCompany.Browser
. 它有一个被称为Browse
接受 url 字符串并返回 html 字符串的方法。它通过启动CefSharp.OffScreen
浏览器并执行它来做到这一点,这一切在普通的 bin 环境中都可以正常工作。
在我的 CSScript 执行的动态加载脚本中,我有与此功能等效的代码(一个大大简化、高度人为的测试):
CSScript 的工作方式是,如果您给它一个using MyCompany.Browser;
引用,它会在执行它的文件夹中查找,找到名为 MyCompany.Browser.dll 的 dll,然后为您加载它。 CefSharpHeadlessBrowser
是这个MyCompany.Browser
命名空间中的一个类型,在一个名为 的 DLLMyCompany.Browser.dll
中,在某个服务器上的主 bin 文件夹中,CSScript 很高兴地实例化了它。
但是,当我尝试执行该browser.Browse()
方法时,会发生这种情况:
这些消息来自MyCompany.Browser.dll 已加载的CheckDependencies()
方法。CefSharp.dll
但是,就加载过程而言。MyCompany.Browser 已加载,因为它与 CSScript 位于同一文件夹中;CefSharp.dll 加载的时间足够长,可以运行其依赖项检查器并给我上面的错误消息,因为 MyCompany.Browser.dll 直接引用了它。
但是 CefSharp 的其余部分没有加载,因为动态加载的脚本没有在同一个 bin 文件夹中运行。相反,它运行在:
我希望有人能够告诉我 CefSharp 有一个注册表项、一个app.config
元素或其他东西会通知 CefSharp “您可以在此处找到所有文件”。有没有类似的东西,如果没有,还有其他方法可以解决这个问题吗?
c# - 如何将 .rtf 文件作为文本流打开
我对 c# 和 .net 非常陌生,并试图理解它。
我正在使用如何读取特定文件夹中的所有文件并尝试在下面的代码中应用的解决方案。
结果没问题,但在我的测试文件末尾显示环境名称。
像。
我正在使用cs-script,是不是因为这个?
使用 .txt 文件时,它工作正常。所以问题是如何正确打开 .rtf 文件作为文本流?
c# - 如何在具有不同命名空间和 dll 的 c# 脚本中使用外部库
我想在 cs-script 中使用 novacode-docx。我怎样才能正确引用程序集。我尝试了以下但没有解决缺少的程序集参考。
c# - 尝试使用 notepad++ 和 csscript 调试外部进程时出错
对于我的公司,我的任务是找到一种调试外部进程和“cs 脚本”的方法。
我想要实现的目标是让项目工程师(没有 Visual Studio)调试他们编写的脚本。我们有一个非常简洁的系统,项目工程师可以编写一个简单的脚本来为我们的主程序添加更多功能(在特殊输入上打开灯)(它被大量用于客户的自定义 I/O 和我们的软件之间的接口.)
所以我认为一个很好的起点是检查记事本++的csscript插件,对于构建一个简单的脚本(如果它有一个静态的void main),它不仅很棒,而且很棒。但是我想尝试“调试外部进程”功能,当我点击它时,我得到了这个错误:
坦率地说,我不知道该怎么做,因为我所做的就是:打开记事本++ -> 插件 -> csscript -> 调试外部进程。
有没有这方面的经验?或者知道更好的方法?
c# - 如何停止使用 CSScript 加载的脚本?
我使用 CS-Script 库在我的 WPF 应用程序中运行用户定义的脚本。如果脚本无休止地运行,我该如何取消它?当我的用户编写脚本时,我不能依赖在脚本内检查的取消标志。
这是显示问题的简化代码片段:
visual-studio - VisualStudio 2015 中用于 csx 的 Intellisense
我是编程cs脚本(csx文件)的新手。
但我的问题是我没有任何智能感知。如何在 Visual Studio 2015 中获得智能感知支持?
c# - 无法加载 System.Reflection.Metadata,版本=1.2.0.0
我用 wcf 创建服务
尝试执行代码时抛出无法加载程序集 System.Reflection.Metadata 的异常,版本 = 1.2.0.0。字节在没有任何服务的情况下执行 CSharpScript 我没有得到任何异常,脚本运行良好
c# - 如何暂停或停止“CSharpScript”运行?
我在我的应用程序中使用 Roslyn 的脚本 API,代码片段如下:
CSharpScript.RunAsync
方法运行良好,但是当我单击ScriptStop
按钮时,ScriptCTS?.Cancel()
无法取消正在运行的脚本。
如何停止或暂停正在运行的脚本?