小编Bra*_*don的帖子

如何在Visual Studio中实际创建.NET Core项目?

也许这是非常明显的,我只是找不到它但是如何在Visual Studio中创建.NET Core项目(2015年,或者最好是2013年)?我只想在Linux机器上运行控制台应用程序..NET Core github页面上的文档不完整,Microsoft提供的任何内容都很少提供帮助.

如果您还可以告诉我从Linux命令行运行应用程序的更简单方法,dotnet run而不是坐在应用程序的目录中.

.net visual-studio .net-core

27
推荐指数
2
解决办法
2万
查看次数

使用当前日期和时间创建NLog文件而不缓存它,保持存档文件名相同

我正在使用NLog进行一些日志记录,我遇到了归档和文件名的问题.

我正在代码中创建日志记录配置(我正在编写一个包装器来公开一些特定的功能),并且我已经FileTarget使用这些选项创建了对象:

this._fileTarget.FileName = "${date:format=yyyy-MM-dd hh.mm.ss}.log";
this._fileTarget.ArchiveAboveSize = Math.Pow(1024, 2) * 5; //5MB
this._fileTarget.ArchiveNumbering = ArchiveNumberingMode.Date;
this._fileTarget.ArchiveEvery = FileArchivePeriod.Day;
this._fileTarget.ArchiveDateFormat = "yyyy-MM-dd hh.mm.ss";
Run Code Online (Sandbox Code Playgroud)

我不确定为什么NLog会这样做,但是文件名布局会每秒创建一个新的日志文件,而不是仅仅使用文件名,直到存档期间结束.

我将缓存的目标包装器添加到文件名中:

this._fileTarget.FileName = "${cached:cached=true:inner=${date:format=yyyy-MM-dd hh.mm.ss}.log}";
Run Code Online (Sandbox Code Playgroud)

但是所有购买的东西都是一个现在永远不会改变的文件名,在归档时看起来像这样

2014-12-03 12.00.00.2014-12-03 12.00.00.log
2014-12-03 12.00.00.2014-12-03 12.10.00.log
etc...
Run Code Online (Sandbox Code Playgroud)

是否可以告诉NLog只根据文件大小和日期归档文件,并忽略归档编号和日期格式?我正在尝试生成日志文件,其名称是创建时间的时间戳,其中新文件仅在特定大小或每天创建.

编辑: 这是我想要实现的目标:

在申请开始

  1. "yyyy-MM-dd hh.mm.ss".txt使用当前时间戳创建具有文件名的日志文件(示例 - >"2014-04-29 11:11:11.txt")
  2. 应用程序会在该文件中记录一段时间,直到它为止
    • 变得太大(超过定义的限制)或
    • 存档时间过去了(在我的情况下,这是一天)
  3. 然后记录器停止写入在1.("2014-04-29 11.11.11.txt")中创建的文件,并且不重命名它或以其他方式添加顺序/滚动数字或日期格式.
  4. 重复步骤1-3直到时间结束.

离开我的Log文件夹看起来像这样:

Logs
|
|> 2014-12-10 12:50:50.txt    (1024 kb)
|> 2014-12-10 12:50:55.txt    (1020 kb)
|> 2014-12-10 12:51:01.txt    (1024 kb)
|> 2014-12-10 12:51:10.txt    (1003 kb)  
|> 2014-12-10 …
Run Code Online (Sandbox Code Playgroud)

c# nlog

14
推荐指数
2
解决办法
6655
查看次数

.dll引用在调试模式下正确加载到c#项目中,但在Release中找不到名称空间

我正在为我的公司设置CI服务器并集成单元测试.我选择使用TeamCity和NUnit,因为他们过去曾为我工作过的其他组织工作得很好.

我已经启动并运行了TeamCity,我现在只创建了一个测试单元测试项目,因此我可以验证TeamCity是否正确处理我的NUnit配置.在我的项目中,我添加了对nunit.framework.dll的引用,该引用位于我的解决方案根目录下的文件夹中.当我提交测试解决方案时,这是我从TeamCity中的构建步骤获得的输出:

[10:45:35][Csc] UnitTesting.cs(5, 7): error CS0246: The type or namespace name 'NUnit' could not be found (are you missing a using directive or an assembly reference?)

[10:45:35][Csc] UnitTesting.cs(16, 10): error CS0246: The type or namespace name 'Test' could not be found (are you missing a using directive or an assembly reference?)

[10:45:35][Csc] UnitTesting.cs(16, 10): error CS0246: The type or namespace name 'TestAttribute' could not be found (are you missing a using directive or an assembly reference?)

[10:45:35][Csc] UnitTesting.cs(13, 6): …
Run Code Online (Sandbox Code Playgroud)

c# dll teamcity nunit

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

用虚拟方法覆盖抽象方法

我试图在子类中使用虚方法覆盖抽象类中的抽象方法.我(假设到现在?)了解抽象方法和虚方法之间的区别.

显然我无法做到,但我的问题是......为什么?基于此处接受的答案和以下场景,我只是没有看到问题:

    public abstract class TopLevelParent
    {
        protected abstract void TheAbstractMethod();
    }

    public class FirstLevelChild1 : TopLevelParent
    {
        protected override void TheAbstractMethod()
        {

        }
    }

    public class FirstLevelChild2 : TopLevelParent
    {
        protected virtual override void TheAbstractMethod()
        {
            //Do some stuff here
        }
    }

    public class SecondLevelChild : FirstLevelChild2
    {
        //Don't need to re-implement the method here... my parent does it the way I need.
    }
Run Code Online (Sandbox Code Playgroud)

所以,我所做的就是让一个顶级父级有两个继承子级,另一个继承自其中一个继承子级.同样,根据我在上面发布的链接中接受的答案:

"一个虚函数,基本上就是说看,这里的功能对于子类来说可能是也可能不够好.所以如果它足够好,使用这个方法,如果没有,那么覆盖我,并提供你自己的功能. "

并且第二级子级将从其父级继承虚拟方法,从而满足其最顶层父级的抽象方法的实现要求......问题是什么?

我错过了某些阻碍我对此理解的细节......

c# virtual inheritance abstract

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

为什么Safari在HTTP Basic登录后没有清除Authorization标头(之后不允许我用Bearer令牌覆盖它)?

我们有一个临时服务器设置,它使用HTTP基本身份验证进行访问,这与站点上的用户功能无关.访问阶段后,我使用一些凭据(不使用HTTP Basic)登录,然后我可以继续执行用户操作.

网站上有Bearer一些使用令牌访问某些API功能的调用,因此为每个用户分配了他们的令牌,并在必要时正确使用它来访问API.这适用于Safari以外的所有地方

当我检查Authorization标题并在其他浏览器中输出令牌时,它的Authorization: Bearer <token>格式正确并且调用成功.在Safari中运行的相同代码显示Authorization标头在请求中正确传递,但标头的调试输出显示它正在接收,Authorization: Basic <basic credentials>并且在解析时,将解析为用于访问该阶段的凭据.

为什么?Safari中是否有设置这样做或者它是Safari中的错误?

safari authorization http-headers bearer-token

6
推荐指数
0
解决办法
515
查看次数

我可以在 Visual Studio 中自动缩进对齐代码吗?

我不知道它是否有一个名称,但我想自动缩进(/制表符?) - 对齐我的源代码以获取大型相关代码块。就像这样:

前:

this._strategies = new Dictionary< Type, IStrategy >
{
    {typeof( Station ), new StationStrategy(this)},
    {typeof( Turnout ), new TurnoutStrategy(this)},
    {typeof( EndOfLine ), new EndOfLineStrategy(this)},
    {typeof( Chainage_Equality ), new ChainageEqualityStrategy(this)},
    {typeof( Track_Connector ), new TrackConnectorStrategy(this)},
    {typeof( Multimeter ), new MultimeterStrategy(this)},
    {typeof( Power_Rail_Gap ), new PowerRailGapStrategy(this)},
    {typeof( EndOfWire ), new EndOfWireStrategy(this)},
    {typeof( Grounding_Point ), new GroundingPointStrategy(this)},
    {typeof( Busbar ), new BusbarStrategy(this)},
    {typeof( AARU ), new AutomaticAssuredReceptivityUnitStrategy(this)},
    {typeof( TPS ), new TractionPowerSubstationStrategy(this)},
    {typeof( AutoTransformer ), new AutotransformerStrategy(this)},
    {typeof( Energy_Storage ), …
Run Code Online (Sandbox Code Playgroud)

c# format visual-studio

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

运行简单的 nodejs 脚本的 ELF 标头无效

我正在尝试在 Ubuntu 14.04 上运行一个简单的 nodejs 脚本,其内容如下:

http = require('http');

http.createServer(function(req, res){
  res.writeHead(200, {'Content-Type': 'text/plain' });
  res.end('Hello World \n');
}).listen(80, '127.0.0.1');
Run Code Online (Sandbox Code Playgroud)

我已经通过此处找到的说明安装了 NodeJs 。这是我从该链接中遵循的摘录:

选项 2:使用 Ubuntu 包管理器安装 Node.js

要安装 Node.js,请在终端中键入以下命令:

sudo apt-get install nodejs

然后安装 Node 包管理器 npm:

sudo apt-get install npm

为节点创建一个符号链接,因为许多 Node.js 工具使用这个名称来执行。

sudo ln -s /usr/bin/nodejs /usr/bin/node

我这样做了,验证了两个软件包都已安装:

在此处输入图片说明

但是我不能使用我的 .node 文件而不抱怨这个错误:

user@host:/var/www/html/nodetest$ node test.node

module.js:356
  Module._extensions[extension](this, filename);
                               ^
Error: /var/www/html/nodetest/test.node: invalid ELF header
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16) …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu node.js

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

使用正则表达式使用get_field_by_name搜索字段

我试图在systemverilog中按名称获取一个uvm寄存器字段.我想使用正则表达式,以便我可以使用字段名称的模式.这是我的注册字段:

YY_XXX_2_N
ZZ_BBB_3_N
UU_AAA_8_N
MM_CCC_4_N
YY_WWW_9_N
Run Code Online (Sandbox Code Playgroud)

正如您所看到的所有寄存器字段都以_N结尾,我使用以下代码来获取寄存器字段:

field=env.my_regmap.get_field_by_name("_N$");
Run Code Online (Sandbox Code Playgroud)

所以我希望这段代码得到一个与提供的模式匹配的寄存器字段.使用上面的代码,我收到以下错误:

reporter [RegModel] Unable to locate field '_N$' in block 'my_regmap'
Run Code Online (Sandbox Code Playgroud)

我想知道在这种情况下是否有办法使用正则表达式.

谢谢!

regex system-verilog uvm

3
推荐指数
1
解决办法
462
查看次数

如何在我的 Flask 应用程序中使用 CoreUI 管理模板

我希望在我的 Flask Web 应用程序中使用 CoreUI 管理模板 ( http://coreui.io/ ),但我不确定如何使用它。

我检查了它的文档,它说要安装 NodeJS 和我不知道并且无法让它工作的东西。

我的问题是如何将 CoreUI 管理模板与我的 Flask 应用程序一起使用,以及它对我为我的网站创建布局有多大帮助。

flask

3
推荐指数
1
解决办法
3100
查看次数

对于List数组的每个循环(Of KeyValuePair(Of String,Integer))

我在"列表(KeyValuePair(Of)"集合中执行For Each循环时遇到问题.

我正在将ParamArray传递给函数

ParamArray args() As List(Of KeyValuePair(Of String, Integer))
Run Code Online (Sandbox Code Playgroud)

我正在尝试在Collection上做For Each

For Each arg As KeyValuePair(Of String, Integer) In args
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

类型'System.Collections.Generic.List(Of System.Collections.Generic.KeyValuePair(Of String,Integer))'的值不能转换为'System.Collections.Generic.KeyValuePair(Of String,Integer)'

我只是无法弄清楚如何做到这一点,我找不到任何如何做到这一点的例子.

我现在唯一的想法是做

For Each arg As Object In args
Run Code Online (Sandbox Code Playgroud)

然后将对象转换为KeyValuePair,但必须有一个更简洁的方法来做到这一点......

vb.net foreach keyvaluepair

2
推荐指数
1
解决办法
3986
查看次数