问题标签 [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 投票
0 回答
112 浏览

.net-core - dotnet run 尝试从不存在的路径运行

尝试在我的 Ubuntu 16.04 服务器上运行我的项目时,出现错误:

项目编译后bin下的文件。

项目.json

为什么 dotnet core 将项目输出到与尝试运行项目不同的目录中?我怎样才能解决这个问题?

0 投票
1 回答
5775 浏览

c# - 为 Dotnet Core 编写自定义代码生成器

我正在尝试为 dotnet core 编写一个自定义代码生成器,但到目前为止,由于它周围的文档有限,因此收效甚微。

浏览了一下 CodeGeneration 源代码,了解了如何从命令行触发生成器以及它在内部是如何工作的。

由于 dotnet core 中可用的生成器无法满足我的需求,我尝试编写自己的 CodeGenerator,但似乎无法通过“dotnet aspnet-codegenerator”命令调用它。下面是我的自定义代码生成器(目前没有实现 - 我的目标是能够从 dotnet cli 触发它并最终出现异常),

下面是我尝试调用代码生成器的方式,

或者

不过,这似乎不起作用,并抱怨无法找到自定义代码生成器。请参阅下面的错误消息,

我错过了什么或者我应该对 CogeGenerator 进行哪些更改才能获取我的自定义类?

复制:Github

0 投票
1 回答
11571 浏览

asp.net-core - 如何在 Visual Studio 2017 中打开 dotnet-core CLI 项目

我一直在使用 dotnet Core(用于 API)和 Angular2 开发一个简单的应用程序,目的是同时学习两者。

我在命令行上使用 Yeoman 创建了这个项目,并且一直很高兴地在 Visual Studio Code(在 Windows 上)中进行编码。一切似乎都很好地融合在一起,这是一次愉快的经历。

我想我可能会尝试一下 Visual Studio 2017,看看用 VS 开发 dotnet Core 项目的体验是怎样的一段时间。

但是,安装 VS2017 并从 github 克隆项目后,我不确定如何继续。我看不到任何恢复/构建/运行项目的方法。

克隆 repo 后,我看到我的项目显示在解决方案资源管理器中,并且 project.json 文件可见。但是,调试 | 开始是灰色的。我在某处读到了有关 VS2017 需要将 project.json 转换为新的(旧的?)XML 格式的信息,而且我觉得我缺少一个 .sln 文件。

如果有人能指出我正确的方向,我将不胜感激。

0 投票
1 回答
122 浏览

c# - 为什么 dotnet restore 为 csproj-projects 创建 xprojs?

我有 aspnet 核心项目(在完整框架上),引用 Library.csproj 项目。

我知道为我的 webapp 恢复包的唯一方法是dotnet restore. 但这会创建不需要的 Library.xproj。

fragment.lock 包含

project.lock.json 包含

0 投票
2 回答
1254 浏览

nuget - dotnetcore Nuget 启用预发布

我已经开始将 dotnetcore 用于一个爱好项目。

我在尝试安装 NLog 时遇到问题。Visual Studio Code 编辑器似乎将 beta 版本识别为 intelisense 在 project.json 文件中建议的版本。然而nuget似乎并没有恢复它。

有没有办法在新的 dotnet 核心平台中启用 Nuget 包的预发布?

0 投票
0 回答
1085 浏览

.net-core - 如何在 Visual Studio 2017 中打开 .NET Core CLI 项目

对于本学期的一门课程,我需要使用 .NET Core 1.1 和 1.0.0-preview2-003177 版的 CLI 工具。如何在 Visual Studio 2017 中打开这样的项目?我找到了适用于 1.0.0-preview4-004233 的解决方案,但由于教授的要求,我不允许将我的项目升级到较新的版本。

0 投票
1 回答
810 浏览

.net-core - 强制使用 dotnet build 重新编译项目

dotnet build如果没有更改,将不会重新编译使用该项目:

是否可以强制重新编译项目?我查看了 command options,但没有找到任何相关参数。

0 投票
2 回答
5143 浏览

sqlite - 如何在使用 SQLite 的 ASP.NET Core Web 应用程序的发布版本中为 ApplicationDbContext 应用现有迁移

我无法在使用 SQLite 数据库的 ASP.NET Core Web 应用程序的发布版本上应用 ApplicationDbContext 的现有迁移。结果,我必须将我的 sqlite .db 文件从 Debug 构建(我能够应用迁移)复制到 Release 构建,以便我可以将它部署在我的 Ubuntu 服务器上。要么这样,要么我必须在生产环境中调用里面app.UseDatabaseErrorPage();的方法,不推荐。public void Configure()Startup.cs

要重现此问题,请在 Visual Studio 中使用个人用户帐户身份验证创建一个 ASP.NET Core Web 应用程序 (.NET Core)。我将我的项目称为Hevn

然后,更新project.json以使用 SQLite 而不是 SQL Server。

然后,更新Startup.cs以使用 SQLite 而不是 SQL Server:

然后,打开appsettings.json并更改 DefaultConnection 以使用 SQLite 数据库。(我命名我的 Hevn.db):

然后打开命令提示符并通过导航到项目并运行来应用迁移dotnet ef database update

这将创建bin/Debug/netcoreapp1.0文件夹,并且该文件夹内包含Hevn.dbsqlite 数据库文件。当我浏览sqlite文件时,可以看到已经创建了认证所需的表(即AspNetUsers表)。

但是,我无法为发布版本执行此操作。我可以运行dotnet build -c Release以在bin/Release/netcoreapp1.0. 我也可以运行dotnet run -c Release以运行我的应用程序的发布版本。运行Release版本会在下创建Hevn.dbsqlite文件bin/Release/netcoreapp1.0,但是浏览sqlite文件显示没有创建表。

此时,我唯一的选择是将Hevn.db文件从 Debug 复制到 Release 构建中。

我也试过dotnet ef database update -e Production了,但仍然Hevn.db在 Debug 构建下创建。

当我在应用迁移之前在调试模式下运行我的 ASP.NET Core Web 应用程序时,我在尝试注册/登录时收到以下屏幕。我可以简单地单击 Apply Migrations 或运行dotnet ef database update以使用 SQLite 应用迁移和注册/登录工作。 能够在调试模式下应用迁移

但是,当我在发布模式下运行我的 ASP.NET Core Web 应用程序时,当我尝试注册/登录时会出现以下屏幕。我无法将迁移应用到发布版本。 无法在发布模式下应用迁移

是否可以在 ASP.NET Core Web 应用的发布版本上应用迁移?还是我必须求助于将数据库迁移的 sqlite 文件从 Debug 复制到 Release?

0 投票
1 回答
1896 浏览

asp.net-core - 为 EF Core 数据种子创建 dotnet 工具

如本文所述,我在 ASP.NET Core 项目的启动中播种数据库数据,如下所示

但同一篇文章还建议手动播种数据,

请注意,一般情况下,建议手动应用这些操作(而不是在启动时自动执行迁移和播种),以避免在有多个服务器时出现争用情况和意外更改。

我更喜欢使用 dotnet 工具,如下所示:

其中:
- Context 是要使用的 DbContext。如果未指定,则使用默认值。
- SeedData 是一个包含数据插入逻辑的类。

是否可以创建这样的自定义 dotnet 工具?

DbContext 可以在工具内部使用吗?

0 投票
2 回答
1726 浏览

.net-core - dotnetcore 和 kestrel 的 Nancy 500 服务器错误

我正在尝试将 NancyFX (clint-eastwood)dotnetcore1.1dotnet-cli 1.0.0-rc4-004771. 我目前的项目结构是 -

代码是 -

nancyapp.csproj

程序.cs

启动.cs

HomeModule.cs

索引.sshtml

CustomBootstrapper.cs当前为空。

当我尝试Get("/test/{name}", args => new Person() { Name = args.name });从休息客户端访问时,我得到了预期的结果。

但是,当我尝试访问 root 或Get("/", _ => { return View["index.sshtml"]; });时,我收到一个500服务器错误消息 -

当前已禁用错误详细信息。要启用它,请将 TraceConfiguration.DisplayErrorTraces 设置为 true。例如,通过覆盖 Bootstrapper 的 Configure 方法并调用 environment.Tracing(enabled: false, displayErrorTraces: true)

我尝试按照错误消息中的说明进行操作,并通过在中包含以下代码来启用错误跟踪CustomBootstrapper.cs

但是当我尝试运行应用程序时出现以下错误dotnet run

我不确定是什么导致了错误或如何启用跟踪。任何人都可以帮忙吗?