小编Bre*_*ias的帖子

使用"preLaunchTasks"并在Visual Studio代码中命名任务

根据文档,可以在调试之前启动程序:

要在每个调试会话开始之前启动任务,请将其设置为tasks.json中指定的任务之一preLaunchTask名称.

我没有看到"命名"任务的示例语法,但架构文档显示了一个名为的属性taskName.我尝试使用它将我的launch.json链接preLaunchTasks到任务,但它没有用.当我启动我的程序时,Visual Studio Code报告了此错误:

无法找到一个独特的任务'launch-core'.确保该任务存在且它具有唯一的名称.

我的自定义"命名"任务看起来像这样:

{
    "taskName": "launch-core",
    "version": "0.1.0",
    "command": "C:\\utils\\mystuff.exe",
    // The command is a shell script
    "isShellCommand": true,
    // Show the output window only if unrecognized errors occur.
    "showOutput": "silent",
}
Run Code Online (Sandbox Code Playgroud)

然后我试图更改属性的名称taskName,只是name,基于此链接.这也行不通.

Intellisense没有提供如何命名任务的建议.

有人知道如何在tasks.json文件中唯一地命名任务吗?语法是什么?什么是物业名称?

最终我想在我自己的node.js应用程序启动之前执行两个或三个node.js进程.例如,我想在我的应用程序启动到调试器之前启动以下三个应用程序:

sh -c 'cd ./manager/ && node manager.js'
sh -c 'cd ./adapter/ && node adapter.js'
sh -c 'cd ./core/ && node core.js'
Run Code Online (Sandbox Code Playgroud)

如果我正在使用Windows机器,我的任务可能如下所示: …

node.js visual-studio-code

28
推荐指数
4
解决办法
3万
查看次数

从OWIN迁移到ASP.NET Core

从OWIN迁移到ASP.NET Core时,我发现了一些有关迁移依赖性信息,但是我没有找到有关这些其他主题的信息:

  • 中间件管道.这有什么不同?
  • DelegatingHandler管道(例如Web API).这有什么不同?
  • startup.cs文件.这有什么不同?

简而言之,为了从OWIN迁移到ASP.NET Core,很高兴知道需要我注意的主要热点是什么.

作为第一个例子 - ASP.NET Core似乎没有HttpConfiguration.有无数的示例插件和服务假设它存在.我想推断如何将指令转换为HttpConfigurationASP.NET Core期望的任何方法.

另一个例子是,Swashbuckle文档提供了使用OWIN进行设置的说明,但这些说明不适用于ASP.NET Core.如果我理解与OWIN的主要区别,那么"猜测"如何将Swashbuckle安装到ASP.NET Core中会更容易.

  • 注意:Swashbuckle还提供了self-hosted应用说明.这让我感到困惑,因为我认为OWIN(相对于 Katana)已经是自我托管的,所以对我来说这听起来多余.但我不认为这与目前的问题有关.

我的问题以Swashbuckle为例,但我并没有特别询问Swashbuckle.

更新

我发现我正在寻找的大部分信息都在文章从Web API 2转换到ASP.NET MVC 6.

owin katana asp.net-core

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

在.NET Core中使用Reflection

对于跨平台开发,我正在尝试创建.NET Core共享库.我Class Library (package)在VS 2015中使用了项目模板.我的库需要在完整的.net 4框架中使用我熟悉的一些反射机制,但我现在不知道如何在.NET Core库中访问它们.特别:

  • Delegate类型具有Method返回MethodInfo对象的属性.
  • Type类有一个BaseType属性,FilterName属性,InvokeMember方法和FindMembers方法,我不能在.NET核心达到.

我添加了NuGet软件包据称有我需要的反射件:

"frameworks": {
  "net451": {
    "dependencies": {
      "System.Reflection": "4.1.0-beta-23516",
      "System.Reflection.Extensions": "4.0.1-beta-23516",
      "System.Reflection.Primitives": "4.0.1-beta-23516",
    }
  },
  "dotnet5.4": {
    "dependencies": {
      "Microsoft.CSharp": "4.0.1-beta-23516",
      "System.Collections": "4.0.11-beta-23516",
      "System.Linq": "4.0.1-beta-23516",
      "System.Reflection": "4.1.0-beta-23516",
      "System.Reflection.Extensions": "4.0.1-beta-23516",
      "System.Reflection.Primitives": "4.0.1-beta-23516",
      "System.Runtime": "4.0.21-beta-23516",
      "System.Threading": "4.0.11-beta-23516"
    }
  }
},
"dependencies": {
  "System.Reflection.TypeExtensions": "4.1.0-beta-23516"
}
Run Code Online (Sandbox Code Playgroud)

我也添加了using System.Reflection,但我仍然收到错误,表明这些属性和类型未定义.

我究竟做错了什么?

如果它是相关的,在同一台机器上命令dnvm list显示:

Active …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection .net-core asp.net-core

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

ASP.NET Core"CreatedAtRoute"失败

在我的ASP.NET Core应用程序中,我有一个像这样的控制器动作:

[HttpPost]
public async Task<IActionResult> CreateSubscriber([FromBody] SubscriberDef subscriber)
{
    //...implementation removed

    var link = Url.Link("SubscriberLink", new { id = subscriber.ID });
        return Created(link, null);
}
Run Code Online (Sandbox Code Playgroud)

上面的代码按预期工作.但是,如果我使用内置方法"CreatedAtRoute",那么我得到一个例外:

[HttpPost]
public async Task<IActionResult> CreateSubscriber([FromBody] SubscriberDef subscriber)
{
    //...implementation removed

    return CreatedAtRoute("SubscriberLink", new { id = subscriber.ID });
}
Run Code Online (Sandbox Code Playgroud)

例外是:

System.InvalidOperationException:没有路由匹配提供的值.

该异常导致服务返回500状态代码.

在任何一种情况下都是相同的路由,所以我不知道为什么第一个例子正常工作而第二个例子没有.

project.json包含这个:

"frameworks": {
  "dnx46": { },
  "dnxcore50": { }
},
Run Code Online (Sandbox Code Playgroud)

为了参考起见,命名路由由两部分组成.首先是控制器前缀:

[Route("api/[controller]")]
public class SubscribersController : Controller
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

其次是GET操作,其中实际"SubscriberLink"路由命名为:

[HttpGet("{id}", Name = "SubscriberLink")] …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core

26
推荐指数
1
解决办法
1万
查看次数

从C#,C++/CLI和C++共享枚举

我有一个由三部分组成的库.首先是本机C++,它提供实际功能.其次是C++库的C++/CLI包装器/适配器,以简化C#到C++的转换.最后我有一个C#库,它通过C++/CLI适配器调用C++库.

现在我有两组并行枚举定义,一个存储在.cs文件中,另一个存储在.h文件中.这带来了双重问题:

  1. 我有双重维护.我必须始终在两个文件位置同步枚举的更改.
  2. 两个枚举使用的命名空间应该相同,但C++/CLI包装器(它们查看两组枚举并在它们之间进行转换)会引发命名冲突.

现在,我不知道这样的解决这个那个会解决这两个问题.思考?

.net c# c++ enums c++-cli

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

找到另一个用户的Shelveset

当我按照说明找到货架时,我会得到一份我所有个人货架的清单.但我想要的是从另一个用户的选择中查看和取消保留.其他开发人员可以简单地将用户更改为他们想要的任何人.我没有这样的选择.

我告诉我的TFS管理员这个问题.我得到的回答是"我们没有锁定任何东西,你应该能够查看其他人的搁架." 然而,我看不到别人的搁置.

可能是什么导致了这个?TFS管理员应该检查哪些具体问题或许可,以确认"我们没有锁定任何东西?"

tfs shelveset team-explorer visual-studio-2012 tfs2012

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

tsc不被识别为内部或外部命令

我从VSCode 0.10.6更新到0.10.8,并且第一次尝试使用Typescript.不幸的是,当我告诉VSCode构建时,我得到错误:

tsc不被认为是内部或外部命令......

以下是相关细节:

  • 根据VS Code指令创建了一个全新的"HelloWorld"项目.这包括:
    • 我跑npm init了一个新的package.json
    • 我跑,npm i --save-dev typescript因为我想要本地安装,而不是全局安装.
    • 我创建了一个launch.json来定义一个node.js项目.
    • 我创建了tasks.json文件,并为tsc指定了设置.
  • 我已经制作了一个settings.json文件,如下所示.它没有帮助.
  • 我安装了Visual Studio 2015社区,但我没有安装任何类型的Typescript扩展.当我在开发人员命令提示符下键入"where tsc"时,它回复"找不到".我认为这是件好事.

我重启了VSCode(好几次).我错过了什么?还有什么必须做的?

更新

我尝试了@zlumer提供的解决方案.它成功地使打字稿编译器运行,但随后它出现了数千个错误.为了解决这个问题,我还必须调整我的tsconfig.json以排除node_modules文件夹:

"exclude": [
    "node_modules"
]
Run Code Online (Sandbox Code Playgroud)

node.js typescript visual-studio-code

23
推荐指数
6
解决办法
6万
查看次数

如何订购NUnit测试

不止一次这个问题.但是给出的唯一答案是"你不应该订购你的单元测试,这是坏的,因为"或"你可以避免这种情况......"

我已经知道它很糟糕,为什么它很糟糕,以及避免它的技术.但这不是我想知道的.我想知道是否可以订购NUnit测试的执行,而不是按字母顺序排序.直言不讳:我实际上希望国家从一个测试传播到另一个测试.相信我,我有一个聪明的理由,这违背了通常的哲学.

MSTest具有"有序测试"功能,在某些情况下非常有用.我想在NUnit中拥有这种能力.可以吗?

nunit

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

Visual Studio搜索和替换行结尾

在Visual Studio 2015中,我想将文本添加到所选文本块的每一行的末尾.我正在使用的正则表达式方法几乎可以正常工作,但并不完全正常.

这是我想要修改的示例代码:

public string nameOfGeometry
public string color
public string density
Run Code Online (Sandbox Code Playgroud)

上述所有三行都需要以分号或自动实现的属性结束.这是我尝试过的:

  1. 选择我想要更改的所有文本,然后按ctrl-h.
  2. 切换"正常"的常规印象
  3. 输入$我的正则表达式
  4. 输入{get; set;}我的替换文字

这正是我想要的,除了它$在替换文本之间插入回车符(CRLF).换句话说,我上面显示的示例转换为:

public string nameOfGeometry
{get; set;}
public string color
{get; set;}
public string density
{get; set;}
Run Code Online (Sandbox Code Playgroud)

如果没有添加CRLF,我该如何做到这一点?

c# regex visual-studio visual-studio-2015

20
推荐指数
2
解决办法
2004
查看次数

REST(HATEOAS)和ReactJS

我有兴趣使用REST 的HATEOAS原则来减少SPA应用程序中的业务逻辑.在React特定的背景下,我想知道是否存在使这种做法变得不切实际的挑战,如果没有,那么有什么好的策略可以遵循?

使用HATEOAS从UI中删除业务逻辑的概念示例:

我只发现一个链接表明React/Flux与HATEOAS策略不兼容,并且其他地方没有有意义的讨论.在React/Flux应用程序中它真的不可行吗?SO帖子没有得到足够的重视.有没有人有最喜欢或推荐的方法来取得成功(有或没有Flux或Redux)?

有人给出了一个在Angular上下文中利用HATEOAS的相当详细的例子.我正在为React寻找类似的东西.

就个人而言,我正在描绘rel超媒体链接中的标签,控制渲染哪些JSX组件(条件JSX).对于真实世界的React应用来说,这是天真的吗?也许有条件地渲染的React组件太粗糙,无法以这种方式使用?

我假设超媒体链接由HAL实现提供,或者符合ATOM提要约定(RFC4287).

rest flux hateoas reactjs redux

18
推荐指数
2
解决办法
5136
查看次数