我一直在关注这个StackOverflow问题.它是我能找到的最接近的东西,但并不完全.
让我在我的问题之前解释一下我的最终目标是什么,我正在制作一个支持web的编译器平台,因此,我想在内存中做所有事情(不做任何文件),所以我希望能够编译代码,然后能够引用我刚编译的类中的对象进行任意测试.我知道它听起来有多安全,所以欢迎提供安全方面的意见.
我的问题是如何将C#源代码编译到内存中,并创建该类的实例?
目前我正处于一个步骤,我可以生成有效的.dll并导入并在VisualStudio中手动使用它.
接下来的两个步骤是:
为了完全在记忆中尝试这个,我试过这个.(来源说明)
private object sourceToObj(string source) {
string source = "..."; /*my class*/
CSharpCodeProvider pro = new CSharpCodeProvider();
CompilerParameters params = new CompilerParameters();
params.GenerateInMemory = true;
params.GenerateExecutable = false;
params.ReferencedAssemblies.Add("System.dll");
CompilerResults res = pro.CompileAssemblyFromSource( params, source );
Assembly DOTasm = res.CompiledAssembly;
AppDomain domain = AppDomain.CreateDomain( "thisdomain" );
domain.load( DOTasm , /*???*/ );
domain.CreateInstanceAndUnwrap( DOTasm .FullName, /*???*/ );
return /*???*/;
}
Run Code Online (Sandbox Code Playgroud)
最后,作为代码中的这一点,我希望返回一些对象,我可以调用它的属性.所以打电话 object obj = new sourceToObj(source).class(); …
我使用express来在我的网站上提供静态内容,我想要合并FontAwesome(npm install font-awesome
).但是在Font-Awesome的css中,字体文件的链接附有一个查询字符串,其中包含表达不明白的版本信息.
有没有人遇到这个并找到了修复?是否有一种简单的方法可以使表达式忽略静态内容的qs?
var express = require('express')
var app = express()
app.use('/static', express.static('./node_modules/font-awesome/css'))
app.use('/static', express.static('./node_modules/font-awesome/fonts'))
// response 200 | /static/font-awesome.min.css
// error 404 | /static/fontawesome--webfont.woff?v=4.6.3
Run Code Online (Sandbox Code Playgroud)
更新
为@DenysSéguret指出我们并不像我想象的那样.实际的要求是/fonts/fontawesome--webfont.woff?v=...
解
app.use('/fonts', express.static('./node_modules/font-awesome/fonts'))
Run Code Online (Sandbox Code Playgroud) 我正在为Docker编写API客户端,并且注册表API难以使用。我正在尝试从注册表中删除图像,但是我一直收到此错误
[ { code: 'UNSUPPORTED', message: 'The operation is unsupported.' } ]
Run Code Online (Sandbox Code Playgroud)
我要做到这一点的步骤如下,
> GET http://localhost:5000/v2/
> registry/2.0
> registry/2.0
> GET http://localhost:5000/v2/_catalog/
> { repositories: [ 'alpine' ] }
> GET http://localhost:5000/v2/alpine/tags/list
> { name: 'alpine', tags: [ 'latest' ] }
> HEAD http://localhost:5000/v2/alpine/manifests/latest
> sha256:df73ed0973f15f40496c148330f9b559f0a5583c03f6ac8d26adadf6f4690aff
> DELETE http://localhost:5000/v2/alpine/manifests/sha256:df73ed0973f15f40496c148330f9b559f0a5583c03f6ac8d26adadf6f4690aff
[ { code: 'UNSUPPORTED', message: 'The operation is unsupported.' } ]
Run Code Online (Sandbox Code Playgroud)
自找到REGISTRY_STORAGE_DELETE_ENABLED
变量以来,我正在更新我的问题。
我现在这样运行注册表容器,
docker run -d -p 5000:5000 -e REGISTRY_STORAGE_DELETE_ENABLED=true --name registry2 registry
Run Code Online (Sandbox Code Playgroud)
会产生一个新的错误,
[ { code: …
Run Code Online (Sandbox Code Playgroud) 我已经用nodejs编写了一个小命令行程序,我希望能够npm run test
使用下面的参数键入和运行程序.
直接输入以下命令有效,
node.exe scrappee.js -u 'https://github.com/matutter/{}' -us 'cloggie, AirRocks-Flightcontroller' -s '$commit=li.commits > a > span, $sha=.right .commit-tease-sha' -pm .\test\example_parse_module.js
但是我的package.json的内容如下所示,没有任何输出.
"scripts": {
"test" : "node.exe scrappee.js -u 'https://github.com/matutter/{}' -us 'cloggie, AirRocks-Flightcontroller' -s '$commit=li.commits > a > span, $sha=.right .commit-tease-sha' -pm .\\test\\example_parse_module.js"
}
Run Code Online (Sandbox Code Playgroud)
如何npm run test
使用这些参数获取运行scrappee.js脚本的命令?
使用下面的HTML,我试图提取每个段落的html.但是,我找不到任何方法将节点转回HTML或查询对象.
以下是一个字符串 var html = ...
<article>
<p> p1 </p>
<p> p2 </p>
</article>
Run Code Online (Sandbox Code Playgroud)
html就这样加载了
var $ = require('cheerio').load(html)
var paragraphs = $('p').toArray().map(p => /* I want the html at this point */ )
Run Code Online (Sandbox Code Playgroud)
如何获取这些段落的HTML?
注意:为清楚起见,我调用cheerio.load
"查询对象" 的返回值并返回toArray
方法DOM节点; 缺乏一个更好的短语.
c# ×1
cheerio ×1
docker-api ×1
express ×1
html ×1
javascript ×1
jquery ×1
node.js ×1
npm ×1
run-script ×1