标签: dotnet-cli

为什么Google.Pubsub.V1 beta01不适用于dotnet cli项目?

我创建了一个非常简单的程序,该程序应该列出Google Cloud项目中可用的主题.代码很简单:

using System;
using Google.Pubsub.V1;

public class Test
{
    static void Main()
    {
        var projectId = "(fill in project ID here...)";
        var projectName = PublisherClient.FormatProjectName(projectId);
        var client = PublisherClient.Create();
        foreach (var topic in client.ListTopics(projectName))
        {
            Console.WriteLine(topic.Name);
        }
    }    
}
Run Code Online (Sandbox Code Playgroud)

当我从针对.NET 4.5的"常规"msbuild项目运行它时,它工作正常.当我尝试将dotnet cli(1.0.0-preview2-003121)与以下project.json文件一起使用时:

{
  "buildOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "Google.Pubsub.V1": "1.0.0-beta01"
  },
  "frameworks": {
    "net45": { }
  }
}
Run Code Online (Sandbox Code Playgroud)

......我看到一个例外:

Unhandled Exception: System.IO.FileNotFoundException: Error loading native library.
Not found in any of the possible locations c:\[...]\Pubsub.Demo\bin\Debug\net45\win7-x64\nativelibs\windows_x64\grpc_csharp_ext.dll …
Run Code Online (Sandbox Code Playgroud)

c# google-cloud-platform grpc dotnet-cli

19
推荐指数
1
解决办法
1277
查看次数

使用dotnet cli一步编译多个dotnet核心项目

假设这个文件夹结构

SampleApp
        global.json
        Src  
            Web             
                project.json
                Startup.cs
                ...
            Model
                project.json
                Startup.cs
                ...
Run Code Online (Sandbox Code Playgroud)

如何使用dotnet?编译两个项目?(来自命令行,而不是视觉工作室)

如果你dotnet build在根文件夹级别运行,你得到

找不到文件.. project.json

我可以看到CLI repo上有这个突出的增强功能,但是从2月2日开始.

在盲目地调用dotnet所有src子文件夹之前,任何脚本都必须考虑依赖关系.

.net-core dotnet-cli

18
推荐指数
1
解决办法
8525
查看次数

如何使用dotnet-cli将新的c#文件添加到项目中

我正在学习如何在VSCode中使用dotnet-cli.我已经看到很多关于如何创建解决方案,项目,添加项目引用的命令......但我没有在文档中看到如何添加文件.如果记住,在RubyOnRails中可以从命令行添加文件.

谢谢你的帮助

c# visual-studio-code dotnet-cli

18
推荐指数
3
解决办法
7199
查看次数

如何使用当前预览在.NET Core上构建本机二进制文件?

使用当前的.NET Core预览,如何为控制台应用程序编译(发布?)本机二进制文件.我在Mac OS 10.11上.

我做了以下事情:

dotnet new
dotnet restore
dotnet publish
Run Code Online (Sandbox Code Playgroud)

我有点期望"发布"为我构建一个本地二进制文件,但事实并非如此.它将.dll和一些JSON放在发布文件夹中?我应该提到应用程序在使用时运行正常dotnet run.

那么,如何为我的简单控制台应用程序获取本机二进制文件?

.net-core dotnet-cli

17
推荐指数
1
解决办法
5990
查看次数

如何使用dotnetcore命令行生成控制器

在Ruby on Rails中,您可以在命令行中使用以下内容生成控制器:

$ rails generate controller ControllerName action1 action2 ...etc

dotnetcore cli中是否有类似的东西用于生成控制器?

从我能找到的内容来看,dotnetcore cli在你可以做的命令中似乎非常有限.我确实从微软的文档中找到了关于扩展cli的内容,但我对如何为这样的命令执行此操作并不自信.

UPDATE

使用@Sanket的答案,我能够为我的dotnetcore应用程序生成控制器.但是我遇到了一个错误

Package Microsoft.Composition 1.0.27 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Microsoft.Composition 1.0.27 supports: portable-net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile259)
One or more packages are incompatible with .NETCoreApp,Version=v1.1.
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我"net451"netcoreapp1.1依赖项的框架import语句中添加了.

project.json我的空项目的简单文件(使用@ Sanket的project.json模板)看起来像这样:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
      "version": "1.1.0-preview4-final",
      "type": "build"
    },
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
      "version": "1.1.0-preview4-final",
      "type": "build" …
Run Code Online (Sandbox Code Playgroud)

c# .net-core asp.net-core dotnet-cli

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

dotnet发布和dotnet包之间的主要区别是什么

我很乐意pack,我正在经历不同的命令.使我有点困惑的命令是试图弄清楚dotnet publish和.net之间的主要区别pack.我的意思是看看他们在这个页面上的描述:

https://docs.microsoft.com/en-us/dotnet/articles/core/tools/dotnet

我的理解是publishpublish创建包+ DLL 时创建包.

那是对的吗?如果是这样,为什么不一直使用pack而不是使用DLL文件,如果我们不想这样做.真的吗?

.net nuget nuget-package .net-core dotnet-cli

16
推荐指数
2
解决办法
5274
查看次数

Dotnet CLI 热重载:在粗鲁的编辑时总是重新启动应用程序?

在 .NET CLI 中使用热重载时...

$ dotnet watch
watch : Hot reload enabled. For a list of supported edits, see https://aka.ms/dotnet/hot-reload. Press "Ctrl + R" to restart.
watch : Building...
  ...
watch : Started

Run Code Online (Sandbox Code Playgroud)

...任何粗鲁的编辑都会导致以下提示:

watch : Unable to apply hot reload because of a rude edit.
watch : Do you want to restart your app - Yes (y) / No (n) / Always (a) / Never (v)?
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉 CLI 默认为“始终”?就像是dotnet watch --always-restart

(询问是因为我想dotnet watch在容器中运行)

.net asp.net dotnet-cli hot-reload

16
推荐指数
2
解决办法
2327
查看次数

C# - 在.NET Core上的Visual Studio 2015中的F#Interop支持

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

我有一个F#库

dotnet new --lang F#
Run Code Online (Sandbox Code Playgroud)

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

现在我使用来自C#的F#库(我想这是一个非常常见的场景......).在Project.json中引用F#项目作为任何其他.net库(通过在依赖项下列出它)

现在所有这些编译和工作正常,这是伟大的!

唯一的问题是VS似乎不支持它.没有intellisense和行,我使用C#中的F#函数标记为错误.从C#到F#的调试也不起作用.我在带有VS Code的Mac上尝试过,同样的......

当我点击编译时,编译器会想出来,一切都很好.

这个截图总结了它(这是我从C#调用F#函数的地方): 在此输入图像描述

所以基本上我最终得到了VS解决方案,其中包含一堆错误,仍然可以编译.

是一个简单的复制器.

问题:

  1. 应该智能感知和调试在VS中工作吗?
  2. 如果是的话,我做错了什么?
  3. 如果不是,这个方案是否计划在未来涵盖?

以下是重现器的代码:

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

  "version": "1.0.0-*",
  "buildOptions": {
    "compilerName": "fsc",
    "compile": {
      "includeFiles": [
        "FSharpLibrary.fs"
      ]
    }
  },
  "dependencies": {
    "Microsoft.FSharp.Core.netcore": "1.0.0-alpha-160316",
    "NETStandard.Library": "1.5.0-rc2-24027"
  },
  "tools": {
    "dotnet-compile-fsc": {
      "version": "1.0.0-*",
      "imports": [
        "dnxcore50",
        "portable-net45+win81",
        "netstandard1.3"
      ]
    }
  },
  "frameworks": {
    "netstandard1.5": {
      "imports": [
        "portable-net45+win8",
        "dnxcore50"
      ]
    } …
Run Code Online (Sandbox Code Playgroud)

.net f# visual-studio asp.net-core dotnet-cli

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

不使用Visual Studio将project.json转换为csproj

作为preview3的dotnet new产生的csproj,都dotnet restoredotnet build失败针对project.json和/或xproj.

例如,dotnet restore针对同时具有project.json和xproj的目录运行会出现此错误.

... xproj(7,3):错误MSB4019:导入的项目"C:\ Program Files\dotnet\sdk\1.0.0-preview3-004056\Extensions\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet .Props"没找到.确认声明中的路径是否正确,以及该文件是否存在于磁盘上.

此外,针对仅具有project.json的目录运行它会产生此错误.

MSBUILD:错误MSB1003:指定项目或解决方案文件.当前工作目录不包含项目或解决方案文件.

不使用Visual Studio,我们如何将现有的project.json和/或xproj转换为csproj?

.net-core dotnet-cli

15
推荐指数
1
解决办法
3838
查看次数

.NET Core 1.0 - 如何使用xUnit命令行运行"解决方案中的所有测试"

入门xUnit.net(.NET核心/ ASP.NET核心)页面描述如何运行与测试dotnet test的命令行.

它声明它需要一个特定的project.json,我们在其中添加xunit依赖项和测试运行器:

  "testRunner": "xunit",
    "dependencies": {
        "xunit": "2.1.0",
        "dotnet-test-xunit": "1.0.0-rc2-build10015"
    }
Run Code Online (Sandbox Code Playgroud)

如果我尝试从父目录中调用它:

C:\git\Project\test [master ?]> dotnet test
dotnet-test Error: 0 : System.InvalidOperationException: C:\git\Project\test\project.json does not exist.
   at Microsoft.DotNet.Tools.Test.TestCommand.GetProjectPath(String projectPath)
   at Microsoft.DotNet.Tools.Test.TestCommand.DoRun(String[] args)
C:\git\Project\test [master ?]>
Run Code Online (Sandbox Code Playgroud)

问题:有没有办法用一个单独运行所有测试(多个project.json)dotnet test

xunit .net-core asp.net-core dotnet-cli .net-core-rc2

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