我有一个使用.NET Core编写的库,目标是.netstandard2.0.根据这个站点,它应该兼容使用.NET 4.6.2和4.6.1版本的.NET Core库.但是,当我尝试构建我的.NET Framework库时,我收到此错误:
项目'c:\ myproj.csproj'的目标是'.NETStandard,Version = v2.0'.它不能被针对".NETFramework,Version = v4.6.2"的项目引用.
我正在使用Visual Studio 2017来构建库.我正在做什么不可能/支持我只是误解了网站上的信息?.NET Framework库引用System.Management.Automation并且是PowerShell模块,但也引用了.NET核心库中的代码,该代码也在其他项目中使用.
我在Angular 4应用程序中使用md-table,因为我在UI格式的其他部分使用Material.当我使用基本没有CSS的常规表时,列自动格式化以适应最宽的td元素.使用md-table,列的全部设置为相同的宽度,除以太宽的单元格,然后它扩展单元格并将该行中的其他单元格向右推动.我的常规表:
<md-tab label="Data" >
<md-card class="datacard">
<md-card-content>
<div>
<table class="datatable">
....
</table>
</div>
</md-card-content>
</md-card>
</md-tab>
Run Code Online (Sandbox Code Playgroud)
数据表css:
.datatable {
border: 1px solid black;
border-collapse: collapse;
font-size: 10px;
width: 100%;
overflow-y:scroll;
}
Run Code Online (Sandbox Code Playgroud)
md表:
<md-tab label="Data" >
<md-card class="datacard">
<md-card-content>
<div>
<div class="datatableheader">
<md-input-container floatPlaceholder="never" id="filtercontainer">
<input mdInput #filter placeholder="Filter services" />
</md-input-container>
</div>
<md-table id="datatable" #datatable [dataSource]="resultDataSource" mdSort>
<ng-container cdkColumnDef="Index">
<md-header-cell *cdkHeaderCellDef md-sort-header>Index</md-header-cell>
<md-cell *cdkCellDef="let result">{{result,Index}}</md-cell>
</ng-container>
<ng-container cdkColumnDef="Service">
<md-header-cell *cdkHeaderCellDef md-sort-header>Service</md-header-cell>
<md-cell *cdkCellDef="let result">{{result.Service}}</md-cell>
</ng-container>
<ng-container cdkColumnDef="Region">
<md-header-cell *cdkHeaderCellDef …Run Code Online (Sandbox Code Playgroud) 我不得不使用JSON.NET执行一些自定义反序列化,我发现它将JToken中的键值视为区分大小写.这是一些代码:
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
JToken token = JToken.Load(reader);
JToken version = token["version"];
string ver = version.ToObject<string>();
return new MyVersion(ver);
}
Run Code Online (Sandbox Code Playgroud)
version即使json在顶层包含一个版本元素,该变量仍为null,它只是大写:
{
"VERSION" : "1.0",
"NAME" : "john smith"
}
Run Code Online (Sandbox Code Playgroud)
有没有办法使用JToken不区分大小写的键?或者也许没有JToken它的另一种方法可以让我抓住并反序列化各个属性?
编辑:
根据评论我最终做到了这一点:
JObject token = JObject.Load(reader);
string version = token.GetValue("version", StringComparison.OrdinalIgnoreCase).ToObject<string>(serializer);
Run Code Online (Sandbox Code Playgroud) 我的工作环境是将S3服务用作数据湖,但没有AWS Athena。我正在尝试设置Presto以能够查询S3中的数据,并且我知道我需要通过Hive Metastore服务将数据结构定义为Hive表。我正在Docker中部署每个组件,所以我想使容器的尺寸尽可能的小。我需要从Hive的哪些组件开始运行Metastore服务?我实际上并不真正在乎运行Hive,而只是在关心Metastore。我可以减少所需的东西,还是已经为此预先配置了软件包?我没有找到任何在线内容,其中不包括下载所有Hadoop和Hive。我想做的事可能吗?
我有一个这种格式的字符串:
"Mike H<michael.haken@email1.com>" michael.haken@email2.com "Mike H<hakenmt@email1.com>"
Run Code Online (Sandbox Code Playgroud)
如果我在 JS、C# 等中编写一个普通的正则表达式,我会这样做
(?:"(.+?)"|'(.+?)'|(\S+))
Run Code Online (Sandbox Code Playgroud)
并迭代匹配组以获取每个字符串,理想情况下没有引号。我最终想将每个值添加到数组中,因此在示例中,我最终会在数组中包含 3 个项目,如下所示:
Mike H<michael.haken@email1.com>
michael.haken@email2.com
Mike H<hakenmt@email1.com>
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用greporsed或 bash 正则表达式复制此功能。我尝试过一些类似的事情
echo "$email" | grep -oP "\"\K(.+?)(?=\")|'\K(.+?)(?=')|(\S+)"
Run Code Online (Sandbox Code Playgroud)
问题在于,虽然它有点模仿捕获组的功能,但它并不真正适用于倍数,所以我得到了类似的捕获
"Mike
H<michael.haken@email1.com>"
michael.haken@email2.com
Run Code Online (Sandbox Code Playgroud)
如果我删除前瞻/后视逻辑,我至少会得到 3 个字符串,但第一个和最后一个仍然用引号括起来。在这种方法中,我将输出通过管道传输到,read以便我可以将每个字符串单独添加到数组中,但我对其他选项持开放态度。
编辑:
我认为我的输入示例可能令人困惑,这只是一个可能的输入。实际输入可以是任意数量的任意顺序的双引号、单引号或非引号(无空格)字符串。我提供的 Javascript/C# 正则表达式是我试图实现的真实行为。
我有一个REST API,如果我直接在浏览器中查询,它将返回一个JSON或CSV文件进行下载。我想对Angular HttpModule做同样的事情。
我的get请求很简单(它有一个查询字符串参数来指示要返回的文件格式):
public Submit(request: Request) {
...
return this.http.get(url).subscribe(response => {
//What here
});
}
Run Code Online (Sandbox Code Playgroud)
响应内容类型为application/octet-stream。我尝试将响应作为Blob进行处理,但这不起作用。我如何才能将服务器的响应传递到浏览器,然后让其下载文件?此方法是响应按钮单击的组件正在调用的服务的一部分
onClick() {
this._requestService.Submit(request); //This gets the Subscription response from the service, but I want it to let the broswer download the file
}
Run Code Online (Sandbox Code Playgroud) 鉴于我有一个像这样的 dockerfile:
ARG MAX_MEMORY_PER_NODE="10GB"
ENV P_MAX_MEMORY_PER_NODE="${MAX_MEMORY_PER_NODE}"
ENTRYPOINT ["/var/p/entrypoint.sh"]
Run Code Online (Sandbox Code Playgroud)
Entrypoint.sh 的作用如下:
echo "Max memory ${P_MAX_MEMORY_PER_NODE}"
Run Code Online (Sandbox Code Playgroud)
如果我使用默认值运行容器,我会期望
Max Memory 10GB
Run Code Online (Sandbox Code Playgroud)
这可行,但如果我跑
docker run me/mycontainer:latest -e P_MAX_MEMORY_PER_NODE=1GB
Run Code Online (Sandbox Code Playgroud)
该脚本仍然使用默认值(不打印 1GB)。事实上,如果我跑:
docker run me/mycontainer:latest -e A_TEST=Hello
Run Code Online (Sandbox Code Playgroud)
剧本里有
echo "My test: ${A_TEST}"
Run Code Online (Sandbox Code Playgroud)
它会输出
My test:
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?我不能覆盖(甚至设置) docker run 入口点脚本中使用的环境变量吗?