我是.NET Core的新手,我有一个.NET Core WebAPI项目MyWebApp
,我也有.Net Core Class Library项目MyLib使用EntityFrameworkCore
当我尝试使用添加迁移时,我收到错误
指定的deps.json [...\MyWebApp\bin\Debug \netcoreapp1.1\MyWebApp.deps.json]不存在
检查文件夹,我注意到我在[...\MyWebApp\bin\Debug \netcoreapp1.1\win10-x64\MyWebApp.deps.json]中有这个文件
但我真的无法想象我应该做些什么来解决这个问题.
myWebApi project.json:
{
"dependencies": {
"ShopManager": "1.0.0-*",
"Microsoft.AspNetCore.StaticFiles": "1.1.0",
"Microsoft.AspNetCore.Mvc": "1.1.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
"Microsoft.Extensions.Configuration.Json": "1.1.0",
"Microsoft.Extensions.Logging": "1.1.0",
"Microsoft.Extensions.Logging.Console": "1.1.0",
"Microsoft.Extensions.Logging.Debug": "1.1.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0",
"Microsoft.NETCore.App": "1.1.0"
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},
"runtimes": {
"win10-x64": ""
},
"frameworks": {
"netcoreapp1.1": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": …
Run Code Online (Sandbox Code Playgroud) entity-framework ef-migrations entity-framework-core .net-core project.json
我在VS 2015中创建了一个新的ASP.NET 5 MVC 6(vNext)项目.
我从另一个项目导入了一些类,但看起来DNX缺少一些对我来说非常重要的类.
我可以选择使用完整的.NET堆栈而不是DNX吗?
我需要改变什么?我比新方法更喜欢新的config.json文件,但我需要更改引用.
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
Run Code Online (Sandbox Code Playgroud) asp.net-core-mvc visual-studio-2015 dnx project.json asp.net-core
我有一个针对.NET 4.6和通用Windows平台的可移植类库项目.这个类库只包含一个类,其构造函数中包含以下代码行:
Directory.CreateDirectory(Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()));
Run Code Online (Sandbox Code Playgroud)
现在,我在同一解决方案中创建一个新的.NET 4.6控制台应用程序项目,并向可移植类库添加项目引用.调用包含上述代码行的方法会在运行时导致以下异常:
Could not load file or assembly 'System.IO.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?没有编译时错误或警告.
似乎System.IO.FileSystem是一个通过NuGet提供的库,作为Microsoft.NETCore mega-package的一部分.好吧,也许我需要将这个包明确地添加到任何使用我的可移植类库的项目中.我试图这样做.
Could not install package 'Microsoft.NETCore.Platforms 1.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.6', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
Run Code Online (Sandbox Code Playgroud)
这种方法没有运气.
虽然网上没有明确的信息,但我读了一些关于基于NuGet线束或构建系统的新project.json的花絮.为了实验,我在控制台应用程序项目中创建了以下project.json文件:
{ …
Run Code Online (Sandbox Code Playgroud) nuget portable-class-library visual-studio-2015 .net-4.6 project.json
我正在尝试将我的ASP.NET 5 RC1项目升级到ASP.NET Core RC2项目.我遇到了一些问题,因为我使用的是尚未支持.NET Core的库,所以我必须在完整的框架上运行.这在RC1中运行良好,但我无法找到在RC2中实现这一目标的正确方法.
我有一个类库,可以恢复包并正确构建.我有一个引用类库的测试项目.当我尝试构建测试项目时,我收到以下错误:
> dotnet build
Project TenantService (.NETFramework,Version=v4.5.1) was previously compiled. Skipping compilation.
Project TenantServiceTests (.NETCoreApp,Version=v1.0) will be compiled because expected outputs are missing
Compiling TenantServiceTests for .NETCoreApp,Version=v1.0
C:\projects\TenantService\test\TenantServiceTests\project.json(25,23): error NU1001: The dependency mscorlib could not be resolved.
C:\projects\TenantService\test\TenantServiceTests\project.json(9,31): error NU1001: The dependency mscorlib could not be resolved.
C:\projects\TenantService\test\TenantServiceTests\project.json(25,23): error NU1001: The dependency mscorlib could not be resolved.
C:\projects\TenantService\test\TenantServiceTests\project.json(9,31): error NU1001: The dependency mscorlib could not be resolved.
C:\projects\TenantService\test\TenantServiceTests\project.json(26,21): error NU1001: The dependency System could …
Run Code Online (Sandbox Code Playgroud) 我正在使用VS Update 3(14.0.25425.01).这就是我所做的:
net462
到框架,netcoreapp1.0
在project.json中导入我在恢复时没有错误,并且引用被添加到ASP.Net Core应用程序中.但是,我无法访问它.我无法添加使用导入声明或访问对象.我经历了很多事情,但似乎没有任何工作,帖子的版本很碎片.
更新 我做了Nate建议的.我以为我已经尝试过了..但是我现在可以访问我的4.6.2库了.但是,我现在收到编译错误.
我们的开发人员在Linux,Windows和Mac上使用VS Code.我们也有开发人员在Windows上使用完整的Visual Studio.当前者(包括我)没有将他们的项目添加到解决方案中时会出现问题,而后者则不会在解决方案中看到项目.
开发人员如何将他们的project.json项目添加到一个sln
而不必打开Visual Studio?
visual-studio sln-file visual-studio-code project.json asp.net-core
我有一个解决方案,packages
文件夹检查到源代码管理.我改变了一些项目以使用project.json
文件而不是packages.config
定义依赖项.这些项目都是正常.csproj
项目,而不是DNX .xproj
项目.一切似乎都正常工作但是在更新包后我注意到新版本没有添加到解决方案的packages
文件夹中.相反,它被添加到用户配置文件文件夹中的NuGet新共享包文件夹中.
所以问题是,如何让NuGet使用解决方案的packages
文件夹而不是共享文件夹?
到目前为止我尝试过的方法没有成功:
global.json
在解决方案文件夹中添加文件指定"packages": "packages"
<add key="disableSourceControlIntegration" value="false" />
在.nuget\nuget.config
version-control nuget nuget-package-restore visual-studio-2015 project.json
在一个新的ASP.NET Core RC2类库中,我有以下project.json文件,我试图按照如何修剪包依赖关系的文档.
{
"dependencies": {
"Microsoft.AspNetCore.Mvc.Abstractions": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Mvc.Core": "1.0.0-rc2-final",
"Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc2-final",
"Newtonsoft.Json": "8.0.3"
},
"frameworks": {
"netstandard1.5": {
"dependencies": {
"Microsoft.NETCore.Platforms": "1.0.1-rc2-24027",
"Microsoft.NETCore.Runtime": "1.0.2-rc2-24027",
"System.Xml.XDocument": "4.0.11-rc2-24027"
},
"imports": "dnxcore50"
},
"net461": {
"frameworkAssemblies": {
"System.ServiceModel": "",
"System.Xml": "",
"System.Xml.Linq": ""
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我试图消除Microsoft.NETCore.Platforms
和Microsoft.NETCore.Runtime
,一切仍然有效.这可能是因为Microsoft依赖项也指定了这些.这些依赖关系是什么?我应该明确并保留它们吗?
我正在忙着将我们的ASP.NET Core API从RC1迁移到RC2.
services.AddOptions();
Run Code Online (Sandbox Code Playgroud)
但是我得到以下编译错误:
错误CS0121呼叫是下列方法或属性之间暧昧:"Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.AddOptions(Microsoft.Extensions.DependencyInjection.IServiceCollection)"和"Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.AddOptions(Microsoft.Extensions.DependencyInjection .IServiceCollection)'TransitApi.Api..NET Framework 4.5.2
这些是完全相同的扩展方法!我已经尝试删除所有软件包并删除锁定文件,但无济于事.
project.json:
{
"title": "MyProject.Api",
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Authorization": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Mvc.Core": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Mvc.Abstractions": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0-rc2-final",
"Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-final",
"Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Http": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Http.Abstractions": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final",
"Newtonsoft.Json": "8.0.3",
"WindowsAzure.Storage": "7.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Cors": "1.0.0-rc2-final"
},
"frameworks": {
"net452": { } …
Run Code Online (Sandbox Code Playgroud) 因此,正如标题所述,我想知道是否有可能用dotnet cli做相当于“ npm run”的动作?例如,此片段来自我的project.json:
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.1.0",
"type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.1.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.Extensions.Logging.Console": "1.1.0",
"Microsoft.Extensions.Configuration": "1.1.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
"Microsoft.Extensions.Configuration.Json": "1.1.0",
"Microsoft.Extensions.Configuration.CommandLine": "1.1.0",
"Microsoft.AspNetCore.Mvc":"1.1.0",
"Microsoft.EntityFrameworkCore": "1.1.0",
//"MySql.Data.Core": "7.0.4-ir-191",
//"MySql.Data.EntityFrameworkCore": "7.0.4-ir-191",
"SapientGuardian.EntityFrameworkCore.MySql": "7.1.14",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
"moq": "4.6.38-alpha",
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.Relational": "1.1.0"
},
"scripts": {
"migrate-identity": "dotnet ef database update --context 'ApplicationDbContext'"
},
Run Code Online (Sandbox Code Playgroud)
迁移身份是我添加的自我身份,可以执行此脚本吗?
否则我想我只会在我的项目中有一个scripts文件夹,没什么大不了的,但仍然:)