我使用Visual Studio 2015中的ASP.NET 5预览模板来创建ASP.NET 5站点.根据config.json文件,(localdb)\ mssqllocaldb中有一个数据库.
我想将该数据库移动到我的实际SQL Server,但是当我连接到SQL Server Management Studio中的(localdb)\ mssqllocaldb服务器以启动备份过程时,没有列出任何数据库.它在哪里?
如果我在SSMS中找不到它,我是否可以迁移该数据库?
我有一个.NET Framework 4.6.1类库项目.我(通常)使用EF6对该项目执行代码优先迁移.(最后一次是两个月前.)模型和迁移都在库中.自上次以来,有些事情发生了变化:
我无法再创建迁移.
当我尝试add-migration从Visual Studio(add-migration AddSamples -ConfigurationTypeName Development)中的程序包管理器控制台时,控制台响应:
添加迁移:找不到与参数名称"ConfigurationTypeName"匹配的参数.
如果我尝试没有该参数,响应是
无法执行此命令,因为未安装Microsoft.EntityFrameworkCore.Design.安装与安装的Microsoft.EntityFrameworkCore版本匹配的软件包版本,然后重试.
这是一个奇怪的回应(对我来说),因为我的package.config文件不引用EntityFrameworkCore - 只是EntityFramework和EntityFramework6.Npgsql.
如果我尝试从命令行执行此操作,我会使用dnx ef migrations add AddSamples -c "Development",作为响应,我得到:
错误:无法从D:\ Repositories\MySolution\MyClassLibraryProject解析项目
我dnx ef甚至可以为任何命令得到相同的响应--help.
如果它很重要,当我dnvm list从该文件夹运行时,我得到了
1.0.0-beta5 clr
1.0.0-beta5 coreclr
1.0.0-rc1-update1 clr(默认)
1.0.0-rc1-update1 coreclr
当我自己跑dnx,我得到
Microsoft .NET执行环境Clr-x86-1.0.0-rc1-16231
有没有办法解决这些错误消息并使其再次工作?
编辑:这是我的packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AWSSDK.Core" version="3.3.7" targetFramework="net461" />
<package id="AWSSDK.S3" version="3.3.5.2" targetFramework="net461" />
<package id="EntityFramework" version="6.1.3" targetFramework="net461" />
<package id="EntityFramework6.Npgsql" …Run Code Online (Sandbox Code Playgroud) 我有一个带有onkeydown事件处理程序的文本输入,它通过将事件的keyCode从13更改为9来将<Enter>转换为<Tab>.
<input type="text" onkeydown="enterToTab(event);" onchange="changeEvent(this);"
name="" value="" />
<!-- Other inputs exist as created via the DOM, but they are not sibling elements. -->
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
function enterToTab(myEvent) {
if (myEvent.keyCode == 13) {
myEvent.keyCode = 9;
}
}
function changeEvent(myInput) { var test = "hello"; }
Run Code Online (Sandbox Code Playgroud)
在IE8中,这导致onchange事件触发,但在IE9中不会发生这种情况.相反,输入字段保留焦点.我怎么能做到这一点?(它适用于Firefox 3.6和Chrome 10.0.)如果我将文档模式设置为"IE8标准",这甚至可以在浏览器模式IE9中使用.但它不适用于"IE9标准"的文档模式.(我的DocType是XHTML 1.0 Transitional.)
由于它适用于IE7和8,这可能是IE9中的一个错误,将被修复?
请注意:我不能使用input.blur()或手动设置新的焦点,这是我读过的所有其他解决方案的建议.我已经尝试过onkeypress和onkeyup而没有运气.我需要一个通用的解决方案,它会使Web应用程序表现得像我点击<Tab>一样.另外,我没有jQuery,但Dojo 1.5可供我使用.
另请注意:我知道这是"错误的"行为,并且输入应该提交表单.但是,我的客户工作人员最初来自绿屏环境,其中Enter在字段之间移动它们.我们必须保留相同的UI.就是这样.
更新:我发现IE8和IE9之间存在差异.在IE8中,我的myEvent.keyCode保持设置.在IE9中,它没有.我可以更新window.event.keyCode,它会保留,但这不会影响以后发生的事情.唉...有什么想法吗?
我正在使用SEO友好的URL,我可以通过将aspnet_isapi.dll映射到所有URL来处理大部分URL.(我在IIS中设置了一个处理程序映射,它将dll用于所有路径.(path =*))
但是,当"子文件夹"的最后一个字符是句点时,这似乎不起作用.例如,我有一个URL /brakes/A.B.S./,并且不会触发映射.所以我最终得到404这样的URL.有谁知道我应该如何设置映射来触发这个?(我已尝试*.但这也不起作用.)
我正在尝试使用 CLI 为 ASP.NET Core 2.0 生成分布式 SQL Server 缓存,但我只收到错误消息。指令说要执行
dotnet sql-cache create <connection string> <schema> <table name>
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,它只是以No executable found matching command "dotnet-sql-cache".
我已经安装Microsoft.Extensions.Caching.SqlConfig.Tools 2.0.0在那个项目上。所以它应该从项目根目录工作,不是吗?
当我执行时dotnet -h,我得到.NET Command Line Tools (2.0.2)等。令人惊讶的sql-cache是,SDK 命令中没有列出,与 new、restore、run、migrate 等一起列出。不应该吗?
在我的ASP.NET Core 1.0,MVC6,EF7 Web应用程序中,我添加了一个迁移,该迁移添加了一个新的相关表(和对应的模型)。我有以下模型快照:
[DbContext(typeof(ApplicationDbContext))]
partial class ApplicationDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
modelBuilder
.HasAnnotation("ProductVersion", "7.0.0-rc1-16348")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Salesboost.Models.ApplicationUser", b =>
{
b.Property<string>("Id");
b.Property<int?>("TeamId");
b.HasKey("Id");
// -- <unrelated fields snipped> --
});
// -- <snipped> --
modelBuilder.Entity("Team", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd();
b.Property<string>("Name").IsRequired();
b.Property<string>("ManagerId").IsRequired();
b.HasKey("Id");
});
modelBuilder.Entity("Team", b =>
{
b.HasOne("ApplicationUser", "Manager")
.WithOne("TeamManaging")
.HasForeignKey("ManagerId");
});
}
}
Run Code Online (Sandbox Code Playgroud)
Team.cs:
public class Team
{
public int Id { get; set; }
public string Name { get; set; }
public …Run Code Online (Sandbox Code Playgroud) 我正在将SustainSys.Saml2与Gluu服务器作为我的IdP集成。我开箱即用了脚手架的身份页面。当我在localhost中运行时,并且查看控制台日志时,一切似乎都可以与SAML通信一起使用,甚至看到几行显示:
Sustainsys.Saml2.AspNetCore2.Saml2Handler[0]
Successfully processed SAML response Microsoft.IdentityModel.Tokens.Saml2.Saml2Id and authenticated
Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler[10]
AuthenticationScheme: Identity.External signed in.
Run Code Online (Sandbox Code Playgroud)
除非我弄错了,否则表明SAML一切都很好。但是我不明白的是为什么在ExternalLogin.OnGetCallbackAsync命令中
var info = await _signInManager.GetExternalLoginInfoAsync();
Run Code Online (Sandbox Code Playgroud)
发现info设置为null。
作为记录,在Startup.cs中,我具有:
services.AddAuthentication()
.AddSaml2(options =>
{
options.SPOptions.EntityId = new EntityId("{entityId}");
options.IdentityProviders.Add(
new IdentityProvider(new EntityId("{entityId}"), options.SPOptions)
{
Metadatalocation = "{metadataURL}",
});
options.Validate();
});
Run Code Online (Sandbox Code Playgroud) 我无法以我期望的方式在 IIS (v10) 中启动我的 ASP.NET Core 3.1。我像往常一样将站点发布到文件夹,但是当我通过访问 http://localhost:80 或 https://localhost:443(IIS 站点绑定到这两个站点)在 Windows Server 2019 VM 中进行测试时,我只收到 500.19 的回复。但是,如果我从命令行输入dotnet MyWebApp.dll,则该站点会出现在 https://localhost:5001/。
这是怎么回事?为什么端口 80 不自动工作,因为它在 IIS 中绑定在那里?
是否有一些技巧可以通过复制文件并使用 IIS 来完成这项工作,或者我是否需要使用命令行来启动 .NET Core 3.1 站点?
asp.net-core ×3
iis ×2
asp.net-2.0 ×1
asp.net-mvc ×1
caching ×1
dotnet-cli ×1
gluu ×1
isapi ×1
javascript ×1
localdb ×1
sql-server ×1