标签: dotnet-cli

让IIS Express在dotnet cli web项目上运行,目标是.NetCoreApp

我使用新的xproj扩展和project.json在Visual Studio中有一个dotnet cli WebApp.

dotnet new --t web --lang c#
Run Code Online (Sandbox Code Playgroud)

我有一个网站工作并运行.NetCoreApp就好了.但是,我无法在不添加中间件的情况下在IIS中加载站点,具体取决于IIS,我宁愿不这样做.

所以我使用的是IIS Express.

为此,我必须运行项目以使IIS运行以便能够在调试模式下使用该站点.

我想知道的是我如何让IIS Express保持运行,并在运行项目时附加到它.

我已阅读有关禁用"编辑并继续"的所有指南.这确实适用于ASP.Net Web应用程序,但这是一个dotnet核心WebApp,并不是同一个项目类型.它没有"属性"窗口,其中包含禁用"编辑"和"继续"的选项,并且在IDE的"调试选项"中禁用"编辑并继续"无效.

当我停止运行项目时,IIS关闭.

有任何想法吗?

或者,我如何将其配置为在IIS中本地运行而不依赖它,我可以提出的最佳选择是使用条件编译.

c# asp.net-core dotnet-cli

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

DotNet Pack什么也没做

我正在尝试为我的Web应用程序创建一个nuget程序包,但它不产生任何.nupkg输出。我正在使用Visual Studio 2017 15.3.0。

要创建项目,请执行以下操作:

  • 文件-新建-项目,
  • Visual C#-网络
  • Asp.Net核心Web应用程序,
  • Web应用程序

然后,转到包含csproj文件的目录中的命令提示符,然后键入:“ Dotnet Pack”

我只得到以下输出:

.NET Core的Microsoft(R)Build Engine版本15.3.409.57025版权所有(C)Microsoft Corporation。版权所有。

但是没有创建nuget包。我期望的是这样的:

为App生产Nuget包“ App.1.0.0”

我是否还需要对csproj文件做其他事情?

.net asp.net .net-core dotnet-cli

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

Entity Framework Core:自动化数据库脚手架到类库

按照本教程,可以通过命令行使用 Entity Framework Core 构建数据库上下文。

脚手架有一些奇怪的要求

  • 它需要一个入口点又名 main 方法(没有脚手架进入类库)
  • 完整的项目必须是可编译的(在搭建脚手架之前)

在我当前的项目中,我需要“共享项目”(而不是直接类库)中的模型类。共享项目没有入口点。

(我目前有很多脚手架,因为数据库工程师在数据库优先的方法中更新了很多数据库模型)。

为了创建一些自动化脚手架任务脚本,我计划自动化以下任务:

  • 创建一个新的、空的和临时的 dot net 命令行应用程序(它是可构建的并且有一个入口点)
  • 添加所需的包
  • 脚手架数据库上下文和模型类
  • 将生成的类移动到库/共享项目
  • 删除临时项目

到目前为止,我设法自动化了第一点。

但我不知道如何将 ItemGroup DotNetCliToolReference 添加到 .csproj 文件的 xml 中。

是否有任何 dotnet cli 命令可以让我添加 DotNetCliToolReference 而不仅仅是包和项目到项目的引用?

请给我任何其他提示?

scaffolding scaffold entity-framework-core dotnet-cli

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

使用dotnet CLI和VSCode创建和引用类库就像在Visual Studio中一样

我想开始使用vscode来开发.net核心应用程序,但我对如何将类库创建为单独的项目并引用它们感到困惑.

例如:在Visual Studio解决方案中,我将向该解决方案添加一个Web API项目,然后添加几个类库.根据需要右键单击Web API项目和"添加引用".

即使没有解决方案概念,可以使用VS Code和dotnet CLI完成同样的事情吗?

c# asp.net visual-studio-code asp.net-core dotnet-cli

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

VS Code $msCompile ProblemMatcher 不适用于相对文件路径

我需要使用 Visual Studio Code 编译 .NET 解决方案。我的任务内部tasks.json声明如下:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "dotnet",
            "type": "process",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "args": [
                "build",
                "${workspaceFolder}"
            ],
            "problemMatcher": "$msCompile"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

现在按Ctrl+B我可以成功编译我的整个解决方案。不幸的是dotnet build,似乎输出相对文件路径,并且从文档来看,问题$msCompile匹配器仅适用于绝对路径。其效果是,当出现错误时,在“问题”面板中单击它会产生错误Unable to open XYZ.cs: File not found

如何正确配置dotnet buildProblemMatcher 使其工作?

.net visual-studio-code dotnet-cli vscode-problem-matcher

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

如何在 Azure 部署的应用程序中应用数据库代码优先迁移?

我刚刚将一个应用程序部署到一个 azure 应用服务中。我的项目确实有要应用的迁移。但是我无法通过使用 azure app 命令行来应用它们

dotnet ef 数据库更新

D:\home\site\wwwroot> 找不到匹配命令“dotnet-ef”的可执行文件

我如何远程应用它们?

.net azure ef-code-first dotnet-cli

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

.NET CORE CLI 可以从文件加载参数吗?

我正在使用 .net cli 2.0.3,我想知道是否可以从文件 ie 加载我的参数

dotnet publish -args somefile

Wheresomefile将包含特定命令接受的参数。例如,在发布时我想预定义path\project.csproj -c Release -o "outputpath"

我知道 sdk 中没有那种命令,但是有没有办法实现它?

此致!

c# command-line-interface .net-core dotnet-cli dotnet-sdk

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

升级到Visual Studio 16.3.0后,dotnet ef命令不再起作用

这首先发生在家里,所以我认为这可能是我的台式PC出现了问题。但是,现在我恢复工作了,我尝试了升级并得到了同样的东西。

升级前的屏幕截图

dotnet ef命令

升级Visual Studio后的屏幕截图

dotnet ef命令

我得到的错误是:

由于找不到指定的命令或文件,因此无法执行。

可能的原因包括:

  • 您拼错了内置dotnet命令。
  • 您打算执行.NET Core程序,但dotnet-ef不存在。
  • 您打算运行全局工具,但是在PATH上找不到具有该名称的dotnet前缀可执行文件。

关于发生这种情况的任何想法?以及如何取回dotnet ef命令。我的意思是$PATH以前一定有过,否则以前就不会工作。

entity-framework entity-framework-core dotnet-cli entity-framework-core-3.0

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

如何将解决方案测试的代码覆盖率结果文件输出到解决方案目录而不是测试项目目录

这是一个非常基本的问题,应该有一个简单的解决方案。我希望将单元测试项目的所有代码覆盖率结果放在解决方案中以输出到单个目录中。目前,所有覆盖率输出文件都被写入各个测试项目文件夹中。我尝试研究 coverlet github 问题,其中他们提到他们有一种解决方法(https://github.com/tonerdo/coverlet/pull/220),可以将所有覆盖文件合并到一个文件中,但我无法不要将它们放入我的解决方案目录中

dotnet test .\MySolution.sln /p:CollectCoverage=true /p:CoverletOutput=/results/coverage /p:MergeWith=\results\coverage.json /p:CoverletOutputFormat='json%2copencover'
Run Code Online (Sandbox Code Playgroud)

我正在努力的是在参数中指定解决方案目录/p:CoverletOutput。dotnet cli 中是否有一个特殊参数来指向类似于 msbuild 中的解决方案目录$(MSBuildProjectDirectory)

.net c# code-coverage dotnet-cli coverlet

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

zsh:找不到命令:dotnet-ef

我在 mac 中使用 asp.net core 2.1 和 Visual Studio Code 或 Rider。我已经在 mac 上安装了 2.1 sdk,同时使用以下命令

dotnet-ef database update --project XXXX.XXXX
Run Code Online (Sandbox Code Playgroud)

我得到一个例外

zsh: command not found: dotnet-ef
Run Code Online (Sandbox Code Playgroud)

使用命令

dotnet tool install --global dotnet-ef

得到一个异常Tool 'dotnet-ef' is already installed.

然后使用这个命令dotnet tool restore

error NU3037: Package 'dotnet-ef 3.1.1' from source 'https://api.nuget.org/v3/index.json': The repository countersignature validity period has expired.

Package "dotnet-ef" failed to restore, due to Microsoft.DotNet.ToolPackage.ToolPackageException: The tool package could not be restored.
Run Code Online (Sandbox Code Playgroud)

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

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