随着从VS2017引入project.json的新csproj格式的转变,我正在努力理解dotnetcli和new 之间的区别msbuild以及何时使用另一个.
1)要csproj从命令行构建新的netstandard库,我应该调用dotnetcli(例如dotnet restore dotnet build)还是使用msbuild(例如msbuild ExampleNetstandard.sln).
2)另外,我的理解是有两个版本msbuild,一个基于完整框架,另一个基于目标dotnet core.它是否正确?我应该经常使用dotnet version
3)是dotnet cli独立还是需要msbuild安装?例如,当您安装dotnet SDK时,这也安装了msbuild吗?如果是这样与vs2017安装的版本不同?
当我在命令行中发出以下命令时:
dotnet publish -o "./../output" -c Release
在dotnetcli正确的出版项目.但是,它不会复制appsettings.Production.json文件,只有appsettings.json.
为什么是这样?我已经google了并阅读了官方核心文档,但还没有找到正确的环境appsettings.json应该如何在发布输出中结束.
我应该appsettings.Production.json手动复制到已发布的文件夹吗?
我正在使用dotnet watch命令来运行asp.net核心项目.但是,默认情况下,它会将其Production作为一个环境.
我尝试了两种选择:
1) > dotnet watch ASPNETCORE_ENVIRONMENT=Development
2) > dotnet run ASPNETCORE_ENVIRONMENT=Development
Run Code Online (Sandbox Code Playgroud)
但它仍然把生产作为一种环境.
注意:在visual studio环境中,变量在项目属性中设置为默认情况下的开发,并从visual studio中选择该变量.
问题是:如何使用命令行在开发中运行dotnet核心项目?:
1) dotnet run
2) dotnet watch
Run Code Online (Sandbox Code Playgroud) .Net 7.0更新后,当我使用时dotnet watch run出现此错误:
未处理的异常。System.IO.FileNotFoundException:无法加载文件或程序集“System.Runtime,版本= 7.0.0.0,文化=中性,PublicKeyToken = b03f5f7f11d50a3a”。该系统找不到指定的文件。文件名:'System.Runtime,Version=7.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a' at System.Reflection.RuntimeAssembly.GetType(QCallAssembly程序集,字符串名称,布尔值 throwOnError,布尔值ignoreCase,ObjectHandleOnStack类型,ObjectHandleOnStack keepAlive,ObjectHandleOnStack assemblyLoadContext) 在 System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, BooleanignoreCase) 在 System.Reflection.Assembly.GetType(String name, Boolean throwOnError) 在 System.StartupHookProvider.CallStartupHook(StartupHookNameOrPathstartupHook) 在 System.StartupHookProvider。进程启动钩子()
我可以使用 Visual Studio 成功构建并运行该项目,但无法使用dotnet cli。如何修复此错误?
我有一个简单的.NET Core项目(控制台应用程序),我正在尝试编译和运行.dotnet build成功,但是当我这样做时,我收到以下错误dotnet run:
? dotnet run
Project RazorPrecompiler (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in [path].
Run Code Online (Sandbox Code Playgroud)
我的project.json看起来像这样:
{
"buildOptions": {
"warningsAsErrors": true
},
"dependencies": {
"Microsoft.AspNetCore.Razor": "1.0.0",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"description": "Precompiles Razor views.",
"frameworks": {
"netcoreapp1.0": {
"imports": [ ]
}
},
"version": "1.2.0"
}
Run Code Online (Sandbox Code Playgroud)
什么是hostpolicy.dll,为什么它会丢失?
我可以找到很多过时的线程,但在过去的几个月里已经发生了很多变化.
目前是否有可能在没有 Mono的Raspbian(目前为Jessie)的Raspberry上运行.NET Core和/或ASP.NET Core ?或者我需要什么?
我可以找到一些dnvm样本,但我找不到一个最新的教程并使用了dotnet cli.我知道Windows 10 IoT计划用于v1.1.0,但我找不到基于ARM的CPU.在Raspbian上没有用于ASP.NET Core的Docker示例...
即使http://dot.net只显示一个Homebrew安装命令,但如何在没有Homebrew的Raspbian/Linux上安装.NET Core 1.0.1.
如果您尝试从使用visual studio制作的解决方案的顶级目录中的命令行运行:
dotnet build
Run Code Online (Sandbox Code Playgroud)
我的解决方案是这样的架构:
MySolution.sln
> src
> MyProject1
> project.json
> MyProject2
> project.json
> test
> MyProject.Test
> project.json
Run Code Online (Sandbox Code Playgroud)
它会因以下错误而失败:
Couldn't find 'project.json' in current directory
Run Code Online (Sandbox Code Playgroud)
如何构建解决方案而不必明确指定每个项目(然后没有相关的维护)?
当尝试将angular-tree-component集成到使用"dotnet new angular"创建的项目中时,我始终遇到异常"void(0)不是函数." 树永远不会出现,或者它会短暂出现,但随后错误发生并消失.我想这是由于包版本问题,因为组件自己的演示工作正常.但我不知道哪个包,或者解决方法可能是什么.
我已经将此作为一个问题交叉发布到角度树组件论坛,并且还作为公共回购进行了各种尝试.
有任何想法吗?
我正在使用Visual Studio 2015和dotnet核心并尝试使用Sqlite和本文档/教程开发EF Core Code First项目,该项目还使用了Sqlite => .NET Core - 新数据库
当我尝试通过发出以下命令从命令行添加初始迁移(我CD-ed到我的数据模型项目所在的文件夹中)
dotnet ef migrations add InitialMigration
Run Code Online (Sandbox Code Playgroud)
...我得到以下错误.
没有找到任何项目.更改当前工作目录或使用--project选项.
我甚至试过使用这样的--project选项.
> dotnet --project "C:\Shiva\EF\EFCFSqlite.Data.xproj" ef migrations add InitialMigration
Run Code Online (Sandbox Code Playgroud)
但是这会产生以下错误.
Unknown option: --project
.NET Command Line Tools (1.0.0-preview2-003131)
Usage: dotnet [host-options] [command] [arguments] [common-options]
Run Code Online (Sandbox Code Playgroud)
我注意到文档正在使用.csproj文件而我的Project正在显示xproj文件.此外,文档提到了不再使用的东西project.json:(
这是我的project.json档案.
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.EntityFrameworkCore.Sqlite": "1.1.1",
"Microsoft.EntityFrameworkCore.Sqlite.Design": "1.1.1",
"NETStandard.Library": "1.6.1"
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet":"1.0.0"
},
"frameworks": {
"netstandard1.6": …Run Code Online (Sandbox Code Playgroud) ef-code-first ef-migrations entity-framework-core .net-core dotnet-cli
我在它自己的文件夹中创建了一个解决方案和一个webapi项目.然后我将项目添加到解决方案中.
我希望能够在dotnet run不指定项目的情况下运行,方法是设置默认值(就像我在Visual Studio中一样)
CLI可能还是不可行?