问题标签 [dotnet-cli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
15511 浏览

c# - 从命令行运行单个 *.cs 脚本

最后有没有一种简单的方法可以从命令行执行 c# 脚本文件?

在github上看到了那个讨论

根据这个线程,我认为dotnet run Test.cs应该完成这项工作。

但是对于我的测试类,它是:

它失败

那么如何以相对简单的方式使用命令行在单个文件中执行代码呢?


UPD 1:正如@Lee 和@svick 正确提到的,dotnet run用于运行项目。但我最初的问题是 - 如何运行单个文件。也许使用一些选项roslyn

0 投票
1 回答
496 浏览

command-line-interface - DotNet CLI 工具使用完整框架失败

我正在使用 dotnet 将 ASP.NET Core DNX 命令行工具从 RC1 移植到 RC2。它使用完整的框架 4.5.1。我已将其简化为一个非常简单的项目。我怀疑我缺少一些基本的东西,但我似乎找不到平行的例子。如果这是一个简单的修复,请提前道歉。

重现步骤

这是我的 project.json 文件。

这是我的 program.cs 文件。

我正在创建一个 NuGet 包并将其作为工具从另一个项目中引用。

预期行为

运行dotnet hello 以红色打印 Hello World,然后以红色打印测试。

这在没有打印测试行的情况下完美地工作。

实际行为

显示以下异常。未打印 Hello World。

此时我收到一个错误对话框,提示进行调试。

我已经尝试过许多其他具有相同结果的程序集。

我将此作为问题发布在 GitHub 的 dotnet/cli 上,但尚未收到回复。 https://github.com/dotnet/cli/issues/3274

环境数据

.NET 命令行工具 (1.0.0-preview1-002702)

产品信息: 版本:1.0.0-preview1-002702 Commit Sha:6cde21225e

运行环境:操作系统名称:Windows 操作系统版本:10.0.10586 操作系统平台:Windows RID:win10-x64

0 投票
2 回答
1174 浏览

c# - 如何构建面向 .NET Core 的类库?

我知道使用 Visual Studio 有一个模板可以创建面向 .NET Core 的类库,但我正在寻找一种从命令行执行此操作的方法。

我知道使用dotnet new它可以创建一个新的 .NET 核心项目,但它是一个控制台应用程序,它比 Visual Studio 创建的类库具有更多的依赖项。是否有从命令行创建类库项目的命令或方法?

例如:在此处输入图像描述

0 投票
1 回答
228 浏览

macos - 使用 aspnet 生成器开箱即用地运行 Nancy FX

我很高兴能在我的 Mac 上编写 dotNet 代码。

我面临着 aspnet nancy yeoman 生成器的问题

我可以恢复,但是当我尝试构建它说的项目时。

项目 api (DNX,Version=v4.5.1) 将被编译,因为缺少预期的输出 Compiling api for DNX,Version=v4.5.1 /Users/garrison/projects/dotNet/garrison/api/project.json(18,20) : 错误 DOTNET1012: 未指定参考程序集目录。您可以使用 DOTNET_REFERENCE_ASSEMBLIES_PATH 环境变量设置位置。/Users/garrison/projects/dotNet/garrison/api/project.json(3,28):警告 DOTNET1015:“compilationOptions”选项已弃用。请改用“buildOptions”。/Users/garrison/projects/dotNet/garrison/api/project.json(10,61):错误 NU1001:无法解析依赖项 mscorlib。/Users/garrison/projects/dotNet/garrison/api/project.json(11,51):错误 NU1001:无法解析依赖项 mscorlib。/Users/garrison/projects/dotNet/garrison/api/project.json(10,61):错误 NU1001:无法解析依赖项 mscorlib。/Users/garrison/projects/dotNet/garrison/api/project.json(11,51):错误 NU1001:无法解析依赖项 mscorlib。/Users/garrison/projects/dotNet/garrison/api/project.json(10,61):错误 NU1001:无法解析依赖系统。/Users/garrison/projects/dotNet/garrison/api/project.json(11,51):错误 NU1001:无法解析依赖系统。/Users/garrison/projects/dotNet/garrison/api/project.json(10,61):错误 NU1001:无法解析依赖系统。/Users/garrison/projects/dotNet/garrison/api/project.json(11,51):错误 NU1001:无法解析依赖系统。/Users/garrison/projects/dotNet/garrison/api/project.json(10,61):错误 NU1001:无法解析依赖项 System.Core。/Users/garrison/projects/dotNet/garrison/api/project.json(11,51):错误 NU1001:无法解析依赖项 System.Core。/Users/garrison/projects/dotNet/garrison/api/project.json(10,61):错误 NU1001:无法解析依赖项 System.Core。/Users/garrison/projects/dotNet/garrison/api/project.json(11,51):错误 NU1001:无法解析依赖项 System.Core。/Users/garrison/projects/dotNet/garrison/api/project.json(10,61):错误 NU1001:无法解析依赖项 Microsoft.CSharp。/Users/garrison/projects/dotNet/garrison/api/project.json(11,51):错误 NU1001:无法解析依赖项 Microsoft.CSharp。/Users/garrison/projects/dotNet/garrison/api/project.json(10,61):错误 NU1001:无法解析依赖项 Microsoft.CSharp。/Users/garrison/projects/dotNet/garrison/api/project.json(11, 51): 错误 NU1001: 依赖 Microsoft.CSharp 无法解析。/Users/garrison/projects/dotNet/garrison/api/project.json(10,61):错误 NU1001:无法解析依赖项 System.Runtime。/Users/garrison/projects/dotNet/garrison/api/project.json(10,61):错误 NU1001:无法解析依赖项 System.Collections.Concurrent。

编译失败。1 警告 19 错误

奇怪的是,这不会发生在空的或常规的 aspnet 应用程序中,所以我想知道为什么它只为这个模板哭泣环境变量。

0 投票
1 回答
3149 浏览

c# - 将 HttpClient 与 .NET Core 控制台应用程序一起使用

我正在尝试使用 Microsoft.AspNet.WebApi.Client 包中的 HttpClient 访问 REST 服务

但是当我尝试构建我的应用程序时,我收到以下错误

我的 project.json 包含以下内容

0 投票
3 回答
6204 浏览

.net-core - dotnet core user-secrets可执行文件神秘失踪,为什么?

安装了最新的(我认为).NET Core,通过 Visual Studio 2015 创建了一个 .NET Core Web 项目,并尝试开始使用用户机密。CLI 声称它丢失(在声称已安装它之后......),如下所示:

还为每个请求添加 project.json 文件:

0 投票
1 回答
1345 浏览

.net - C# - .NET Core 上的 Visual Studio 2015 中的 F# 互操作支持

注意:这里我说的是 dotnet core,而不是完整的框架!对于完整的框架,有很多关于此的文档,但这是 dotnet 核心。

我有一个由创建的 F# 库

还有一个 ASP.NET Core RC2 C# 应用程序(由 VS 中的 File->New Project 创建)。

现在我使用 C# 中的 F# 库(我猜这是一个非常常见的场景……)。F# 项目在 project.json 中与任何其他 .net 库一样引用(通过在依赖项下列出)

现在所有这些都可以编译并且工作正常,这太棒了!

唯一的问题是VS似乎不支持它。没有智能感知和行,我使用 C# 中的 F# 函数被标记为错误。从 C# 到 F# 的调试也不起作用。我在带有 VS Code 的 Mac 上尝试过,那里也一样……

当我点击编译时,编译器会解决这个问题,一切都很好。

此屏幕截图对其进行了总结(这是我从 C# 调用 F# 函数的地方): 在此处输入图像描述

所以基本上我最终得到了带有一堆错误的 VS 解决方案,它仍然可以编译。

是一个简单的复制器。

问题:

  1. 智能感知和调试是否应该在 VS 中工作?
  2. 如果是,我做错了什么?
  3. 如果否,是否计划在未来涵盖这种情况?

以下是复制者的代码:

F# 库 - project.json(由 cli 创建 - dotnet new --lang F#

F#库,代码:

C# 应用程序(这里我使用控制台应用程序,但与 asp.net 核心相同)

C# 控制台应用程序 project.json

谢谢

0 投票
1 回答
2165 浏览

.net - 发布 .NET Core 应用程序时针对多个运行时

我想使用 .NET Core创建一个自包含的 Web 应用程序。我想针对任何版本的 Windows 并在我的project.json

当我运行时,dotnet publish --runtime win10-x64我一次只能指定一个运行时发布。然后我必须维护我的二进制文件的三个副本。

是否可以为所有三个运行时发布我的应用程序并将该文件夹复制为一个完全自包含的应用程序?

0 投票
3 回答
11385 浏览

.net - “dotnet restore”因“SSL 对等证书或 SSH 远程密钥不正常”而失败

我刚刚按照这里的程序: https ://www.microsoft.com/net/core#ubuntu

这就是输出dotnet restore

我已将相关证书添加到受信任的证书中以便curl正常工作,但错误仍然存​​在dotnet restore

我试图挖掘核心资源以找出 Nuget 如何在没有运气的情况下检查 SSL 证书。 我试过的版本:

  • 1.0.0-preview1-002702
  • 1.0.0-preview2-003100

我已经使用以下方式配置了 curl .curlrc

它有固定的curl -I https://api.nuget.org调用。

但是dotnet restore -v Debug仍然失败:

所以 dotnet core 使用libcurl但它显然没有使用.curlrc

编辑:21/06/2016

也尝试使用 mozroots 更新证书数据库,但没有任何效果。(似乎与单声道比与 dotnetcore 更相关,即使 dotnet 核心构建页面提到它)。

在深入研究 corefx 代码后,System.Net.Http 的 Curl 处理程序似乎并未在所有情况下都设置正确的 ssl 选项(如Simple Curl SSL sample 中)。

我试过泰勒解决方案:

即使我输入'y', 'yes', '1', 'true'或其他任何内容,这也不会添加最后一个证书。

这会做一些事情:

我不相信 dotnet core 使用了 libcurl nss 构建(只是因为他们的开发页面讲述了 openssl 版本(并且它们是互斥的)。顺便说一下,我仍然尝试使用 libcurl 的 nss 构建和 dotnet restore失败。

恕我直言,问题与错误的证书注册无关,而更多是因为 curl 内置证书验证未正确禁用(因为证书验证是在 System.Net.Http 中完成的,并且必须为客户端代码提供以下能力自定义此验证)。

为什么它发生在我的机器上而不是其他地方?它必须与我的 libcurl 版本有关。

然而,所有这些都只是暂时的假设。

编辑 22/05/2016:

通过更彻底地查看代码,尤其是在比较 master 分支和 RC2 版本时,很明显 SSL 处理代码仍然有很大的变化。

所以我只是抓取 RC2 代码并修改它以反映 master 分支的作用:

然而,它并没有改变任何东西......但预测它是。所以这里是我使用的代码:

然后将 System.Net.Http.dll 替换为禁用 ssl 证书检查。不安全,但暂时解除对我的阻止。

我没有将其添加为答案,因为它更像是一种破解而不是修复。

(真正的解决办法是完全禁用 curl 完成的证书检查,并始终在 .Net 核心中处理它,但在 master 上的当前代码中,情况仍然不是这样,它更像是两者的混合)。

对于根本原因,我认为我处于特定设置中:

  • libcurl 在没有任何默认证书捆绑路径的情况下构建。curlconfig --ca返回一个空字符串。而且它不会读取CURL_CA_BUNDLE环境变量或.curlrc文件。
  • System.Net.Http(dotnet-core)既不设置ca默认值,也不禁用证书验证。
0 投票
6 回答
63233 浏览

asp.net-core - dotnet publish 没有发布正确的 appsettings.{env.EnvironmentName}.json

当我在命令行中发出以下命令时:

dotnet publish -o "./../output" -c Release

正确发布项目dotnetcli。但是,它不会复制appsettings.Production.json文件,只会复制appsettings.json.

为什么是这样?我已经四处搜索并阅读了官方核心文档,但还没有找到正确的环境appsettings.json应该如何最终出现在发布输出中。

我应该appsettings.Production.json手动复制到已发布的文件夹吗?