小编bis*_*314的帖子

Azure DevOps 构建任务:创建内容与 Visual Studio Publish 相同的 zip

在 Visual Studio 中,当我们发布到一个文件夹时,该文件夹包含我们需要部署的内容。

在 Azure Pipeline 中,Build Solution 任务会生成一堆(对我们来说)不必要的文件和一个 zip 文件(很好!)。zip 包含我们需要的文件,但隐藏在一个疯狂的深文件夹路径中:

\Content\D_C\a\1\s\src\MyProject\obj\Release\Package\PackageTmp\our-files.dll
Run Code Online (Sandbox Code Playgroud)

我们更喜欢的是:

\our-files.dll
Run Code Online (Sandbox Code Playgroud)

它还修改 web.config 中的 connectionStrings 以支持它附带的部署脚本。我们不需要那个脚本,而且修改很麻烦(我们通过添加<AutoParameterizationWebConfigConnectionStrings>false</...>到 .csproj 文件来禁用它- 哎呀!)`。

我们尝试在 Build Solution 步骤中对参数大惊小怪:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
Run Code Online (Sandbox Code Playgroud)
  • 更改DeployOnBuildfalse导致 $(build.artifactsstagingdirectory) 为空(导致下一步不部署任何内容)

  • 更改WebPublishMethodFileSystem没有区别(尝试查找有关允许值的文档!)

  • 更改PackageAsSingleFilefalse做人们所期望的 - 没有 zip,但内容仍然隐藏在那个深层文件夹结构中。

我们的下游脚本可以打开清单文件,将深度路径 xpath 导出到 zip 中(路径是否总是以开头d_C?),解压缩并从那里获取内容 - 但这是多么痛苦和多么不必要。

有没有办法只发布一个很好的干净构建 - 一个 zip 的内容可以直接解压缩到与 Visual Studio 中的纯简发布相同的文件?

visual-studio azure-pipelines-build-task

9
推荐指数
1
解决办法
6021
查看次数

泄漏实体框架的抽象 - 只是一点点

如果我想访问RDBMS特有的功能怎么办?有没有办法将数据库特定的SQL注入到EF生成的SQL中?

例如,在Oracle 12c中,您可以为DDL和DML添加时间有效性(有很多种类;我将仅使用这里的简单示例):

这可以在C#中很好地建模:

[TemporalAxis("valid_time")]
public class SomeEntity
{
  public string SomeField { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后与LINQ一起使用

var results = context.SomeEntities
                .Where(i => i.SomeField = "some_value")
                .AsOfPeriodFor("valid_time", dateVariable);
Run Code Online (Sandbox Code Playgroud)

.AsOfPeriodFor扩展可以是这样的:

public static class TemporalExtensions
{
    public static IEnumerable<TSource> AsOfPeriodFor<TSource>(this IEnumerable<TSource> source, 
        string temporalAxis, DateTime asOfDate)
    {
        // reflect on TSource to ensure it has the correct attribute/value (else degrade/throw)
        // do something to source that sets up EF to add the extra clause in the DML

        return source; …
Run Code Online (Sandbox Code Playgroud)

c# linq entity-framework-6 oracle12c

8
推荐指数
1
解决办法
343
查看次数

Kibana 可视化 - 自定义图例标签

我有一个堆积条形图,由布尔字段分割。这会导致图例以两种颜色显示(酷!),但图例具有以下值:true 和 false。对于读者来说,没有上下文说明什么是正确的,什么是错误的。

在此输入图像描述

在本例中,字段名称为is_active

至少让字段名称出现在图例中将有助于人们阅读和理解图表。

更好:有没有办法分别用“Active”和“Inactive”替换“true”和“false”?

我尝试了这个高级->JSON 输入:

{
  "script": {
    "inline": "doc['is_active'].value ? 'Active' : 'Inactive'",
    "lang": "painless"
  }
}
Run Code Online (Sandbox Code Playgroud)

这会导致错误“String无法转换为java.lang.Number”。如果我用数字替换 JSON 输入中的字符串,数字确实会出现在图例中。但没有帮助。

kibana kibana-6

6
推荐指数
1
解决办法
6193
查看次数

在VSIX中捆绑Visual Studio项目模板时,防止图标颜色和大小扭曲

我们创建了一个包含许多项目模板的VSIX.在每个模板中,.vstemplate引用图标图像文件,如下所示:

  <Icon>TemplateIcon.png</Icon>
Run Code Online (Sandbox Code Playgroud)

以下是此类PNG的示例:

在此输入图像描述 在此输入图像描述 在此输入图像描述

我直接从模板项目拖动这三个图像 - 将编译到VSIX中的相同文件.

这里很难说,但左上角和右下角是透明的,蓝色的内部是白色的.

当我编译VSIX时,所有模板都已正确安装,它们都可以正常工作.但是,"新建项目"对话框中的图标不同:

在此输入图像描述

透明的角落看起来很好,但是内部的白色变成了黑色,而第三个图标显得缩小了.

我尝试过GIF和ICO格式无济于事(GIF版本没有收缩,但确实用黑色取代了白色).此外,上面的图像是64x64.我尝试使用32x32(对话框中图标的实际大小).得到了相同的结果.

你能帮我把图像按照预期的方式进入新项目对话框吗?

project-template vsix visual-studio-2013

4
推荐指数
1
解决办法
257
查看次数