小编Mih*_*kov的帖子

如何在Visual Studio 2017中编译less/sass文件

在VS <= 2015中,我们可以使用WebEssentials扩展,负责为我们编译less/sass文件,但目前它不支持VS 2017.您是否知道类似的扩展可以编译更少/ sass在构建?

sass less visual-studio css-preprocessor visual-studio-2017

76
推荐指数
4
解决办法
7万
查看次数

可为空的引用类型的注释只能在“ #nullable”上下文中的代码中使用

刚刚下载了VS2019并创建了一个控制台应用程序以尝试新的C#8空引用类型。将项目切换为使用lang ver C#8进行构建(当前显示为beta)

然后,以下代码将产生警告。

 class Program
    {
        static void Main(string[] args)
        {
            string? message = "Hello World";
            string message2 = null;

            Console.WriteLine(message);
            Console.WriteLine(message2);

            // The annotation for nullable reference types should only be used in code within a '#nullable' context
        }
    }
Run Code Online (Sandbox Code Playgroud)

这到底是什么意思?

c# c#-8.0 nullable-reference-types

20
推荐指数
3
解决办法
3712
查看次数

如何像任务管理器那样计算内存使用量?

好的,我正在使用WMI(.net/C#)不断收集有关机器上运行的特定进程的数据.我通过Win32_PerfFormattedData_PerfProc_Process类获取数据.该类有很多属性,但我们感兴趣的是如下:

  uint64 PageFileBytes;
Run Code Online (Sandbox Code Playgroud)

此进程在页面文件中使用的值(以字节为单位).分页文件存储进程使用的内存页面,这些内存未包含在其他文件中.分页文件由所有进程共享,分页文件中缺少空间可能会阻止其他进程分配内存.

  uint32 PoolNonpagedBytes;
Run Code Online (Sandbox Code Playgroud)

非分页池中的值(以字节为单位),系统内存区域(操作系统使用的物理内存),用于无法写入磁盘的对象,但只要分配它们,就必须保留在物理内存中.Win32_PerfFormattedData_PerfOS_Memory中的PoolNonpagedBytes的计算方式与Win32_PerfFormattedData_PerfProc_Process中的PoolPagedBytes属性不同,因此它可能不等于Win32_PerfFormattedData_PerfProc_Process的所有实例的PoolPagedBytes总数.此属性仅显示上次观察到的值; 这不是一个平均值.

  uint32 PoolPagedBytes;
Run Code Online (Sandbox Code Playgroud)

页面缓冲池中的值(以字节为单位),系统内存区域(操作系统使用的物理内存),用于在不使用时可写入磁盘的对象.Win32_PerfFormattedData_PerfOS_Memory中的PoolNonpagedBytes属性的计算方式与Win32_PerfFormattedData_PerfProc_Process中的PoolPagedBytes属性不同,因此它可能不等于Win32_PerfFormattedData_PerfProc_Process的所有实例的PoolPagedBytes总数.此属性仅显示上次观察到的值; 这不是一个平均值.

  uint64 PrivateBytes;
Run Code Online (Sandbox Code Playgroud)

此进程已分配的当前值(以字节为单位),无法与其他进程共享.

  uint64 VirtualBytes;
Run Code Online (Sandbox Code Playgroud)

进程正在使用的虚拟地址空间的当前大小(以字节为单位).使用虚拟地址空间不一定意味着相应地使用磁盘或主存储器页面.虚拟空间是有限的,通过使用太多,该过程可能会限制其加载库的能力.

  uint64 WorkingSet;
Run Code Online (Sandbox Code Playgroud)

任何时间点此进程的工作集中的最大数量(以字节为单位).工作集是进程中线程最近触及的一组内存页面.如果计算机中的可用内存超过阈值,则即使页面未使用,页面也会保留在进程的工作集中.当可用内存低于阈值时,将从工作集中剪裁页面.如果需要它们,则在它们离开主存储器之前,它们会被软故障返回到工作集中.

我目前正在使用该WorkingSet字段报告进程的内存使用情况.但是,这与任务管理器显示的内容不一致.我尝试过,PrivateBytes但这也不是"正确的".应用程序监视的进程是一个.NET进程(如果这很重要),并且应用程序报告它使用的内存比任务管理器同时显示的内存多至少100MB.

所以问题是如何计算任务管理器所示的进程内存使用的最佳近似值的"公式"是什么?

在此输入图像描述

.net memory windows wmi memory-management

13
推荐指数
1
解决办法
2280
查看次数

如何在nuget包中签名未签名的程序集?

问题是:我们需要使用ClickOnce部署我们的应用程序.我们签署了自己的程序集,但是我们正在使用一些没有签名的程序集的nuget程序包.所以现在我们的应用程序崩溃抱怨签名的程序集引用未签名的程序集.nuget包似乎没有签名版本.我们如何处理这种情况?有没有办法继续使用nuget并使程序集以某种方式签名,而不需要像其他答案中建议的那样手动引用自定义签名程序集?是否有一个nuget设置告诉包管理器在安装时签署程序集或类似的东西?

nuget

10
推荐指数
1
解决办法
3526
查看次数

TN SQL的BNF表示法

你知道在哪里可以得到最新版本的T-SQL的BNF(Backus Naur Form)表示法.这是微软版本,我找不到任何东西.我发现SQL2修订后的ISO标准在这里也被称为SQL92,但它似乎缺少微软的T-SQL的某些功能

sql t-sql bnf

9
推荐指数
3
解决办法
4156
查看次数

为Visual Studio 2012解决方案中的每个项目配置全局输出bin/obj文件夹

我知道可以为每个项目配置输出文件夹.我需要的是一种全局设置解决方案中每个项目的输出文件夹的方法,以便在添加新项目时它们将自动输出到指定的文件夹.

最好的输出文件夹结构应该是这样的:

SolutionFolder
    |-Project1
    |-Project2
    |-Project3
    |
    |-Release
    |    |-bin
    |    |  |-Project1
    |    |  |-Project2
    |    |  |-Project3
    |    |-obj
    |    |  |-Project1
    |    |  |-Project2
    |    |  |-Project3
    |-Debug
    |   |-> "same structure for the debug folder"
    |-mysolution.sln 
Run Code Online (Sandbox Code Playgroud)

这是可能的,如果是,在哪里寻找更多信息?谢谢.

visual-studio visual-studio-2012

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

获取SQL Server 2016中的json数组的长度

您知道SQL Server 2016中新的JSON_支持,所以假设我连续存在这些数据

{
  "BaseBoarding": 1,
  "PriceLineStrategy": "PerPersonPerNight",
  "Currency": "EUR",
  "BasePriceLineList": [
    {
      "RoomTypeId": 1,
      "PeriodId": 1,
      "Price": 10.0
    },
    {
      "RoomTypeId": 1,
      "PeriodId": 2,
      "Price": 100.0
    },
    {
      "RoomTypeId": 1,
      "PeriodId": 3,
      "Price": 190.0
    },
    {
      "RoomTypeId": 2,
      "PeriodId": 1,
      "Price": 280.0
    },
    {
      "RoomTypeId": 2,
      "PeriodId": 2,
      "Price": 310.0
    },
    {
      "RoomTypeId": 2,
      "PeriodId": 3,
      "Price": 340.0
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

如何以最高性能的方式获取"BasePriceLineList"的项目数,最好使用内置的JSON支持?

需要写这样的东西:

SELECT JSON_ARRLEN(JsonDataCol, '$.BasePriceline') FROM MyTable
WHERE Id = 1
Run Code Online (Sandbox Code Playgroud)

得到6作为结果.

json sql-server-2016

8
推荐指数
4
解决办法
8728
查看次数

模拟 Azure Web 应用程序,例如支持本地 IIS10 的“交换”的插槽

在 azure 中,您可以拥有可将 Web 应用程序部署到的插槽。例如,您可以拥有 Production 和 Staging 插槽。您可以部署到 Staging,然后测试一切是否正常,如果可以,则将 Staging 与 Production 插槽交换。我相信这些插槽在幕后只是 IIS 中的 2 个站点。我的想法是交换绑定并重命名网站,以便暂存插槽/网站将获得http://prod-superapp.com绑定,生产插槽/网站将获得http://stg-superapp.com绑定,然后重命名生产网站到暂存和暂存到生产。最后一步是必需的,以便我们下次部署时再次部署到暂存槽。

你还能想到比这更好的事情吗?您是否发现这种方法存在我目前不知道的问题?我知道不能有两个具有相同绑定的站点同时运行,因此该方案在整个过程完成时会有一些停机时间。

iis

8
推荐指数
0
解决办法
570
查看次数

找不到IDisposables

我正在寻找巨大代码库中的内存泄漏,因此逐行进行并观察IDisposable的使用位置的每个可能位置,而不是放在using语句中或没有被处理,这不是一个选项.

我目前正在使用NDepend与此答案的查询NDepend CQL Query缺少IDisposable实现, 但这不是我需要的.我需要知道一个对象是否被实例化,以后是否被处理掉了.如何在NDepend中编写一个查找这些对象的查询?或者,如果那是不可能的,那么如何获取实例化IDisposable对象的地方列表?

c# static-analysis ndepend idisposable

5
推荐指数
1
解决办法
940
查看次数

如何在列上强制执行 JSON 架构

我有一个NVARCHAR(MAX)用于存储 json 数据的列。强制该数据遵守某些 json 模式的最佳方法是什么?

我知道我可以使用函数添加检查约束来检查我的要求,但是有没有更好/内置的方法来做到这一点?

sql-server json sql-server-2017

5
推荐指数
0
解决办法
1587
查看次数