Visual Studio 2012提供了两个主题,Light和Dark.我想将主题切换为黑暗,但我无法找到任何菜单或选项来做到这一点.
我发现了一种导入设置的方法:
Microsoft Visual Studio 11.0\Common7\IDE\ FontsAndColorsThemes\1ded0138-47ce-435e-84ef-9ec1f439b749.vssettings
Run Code Online (Sandbox Code Playgroud)
并且代码编辑器现在处于Dark主题中,但其他窗口仍处于Light主题中,例如Solution Explorer,Toolbox和Toolbars.
我应该怎么做才能切换主题?
在Startup课堂上,我可以在ConfigureServices方法中添加服务.当我想获得某个服务时,HttpContext实例中有2个属性,ApplicationServices和RequestServices.我想知道它们之间的区别以及如何正确使用它们.
编辑#1:例如,在Startup类中:
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ICache, InProcessCache>(); // Line 1
services.AddSingleton<ISystemClientResolver>(SystemClientResolver.CreateInstance); // Line 2
services.AddScoped<SystemClient>(); // Line 3
services.AddRvcBusiness(); // Line 4
services.AddMvc(); // Line 5
}
Run Code Online (Sandbox Code Playgroud)
如果我不叫app.UseRequestServices()的Configure(IApplicationBuilder app)方法,我可以SystemClient通过例如Context.ApplicationServices.GetService(typeof(SystemClient)),但不是每个请求的基础,似乎单和Context.RequestServices为空.一旦我这样打电话app.UseRequestServices():
public void Configure(IApplicationBuilder app)
{
app.UseRequestServices();
// ...
}
Run Code Online (Sandbox Code Playgroud)
Context.RequestServices不是null,我可以获取SystemClient实例,Context.RequestServices.GetService(typeof(SystemClient))实例是按请求.
想象一下处理表单提交的情况,它可以返回不同的错误:400,401,500.当返回400时,我想在表单顶部显示一条消息(覆盖默认行为).对于其他(未处理的)错误代码,应调用默认(全局)错误处理程序(显示通知toast).只是不想为每个动作复制此代码
我使用redux-thunk中间件调度异步操作
// Pseudo code
const action = (dispatch) => {
const onSuccess = (result) => dispatch({type: 'OPERATION_SUCCESS', payload: result});
const onError = (error) => dispatch({type: 'OPERATION_ERROR', error: true, payload: error});
return promise.then(onSuccess, onError);
};
dispatch(action);
Run Code Online (Sandbox Code Playgroud)
我可以创建一个reducer来处理所有{error:true}动作并显示一些弹出通知(可能没有使用redux状态,直接调用一些toast.show()方法)但是如何确定这个特殊错误是否已被某些人处理过其他减速机?
在EF 6中,我可以向NotMapped属性添加属性,然后它不会映射到列.我怎样才能在EF 7中这样做?
我知道我可以通过HostingEnvironment(Microsoft.AspNet.Hosting命名空间)获取WebRoot.
我需要根据在我的Web应用程序中的IIS中创建的虚拟路径获取物理路径.在IIS中,网站根目录指向我发布的网站的wwwroot,并且在IIS中添加了一个虚拟目录,指向我的wwwroot之外的文件夹.我希望我能够获得该虚拟目录的物理路径.在MVC 5或更早版本中,我可以使用HostingEnvironment.MapPath(System.Web命名空间)或Server.MapPath,我应该在MVC 6中做什么?
编辑:
它不是虚拟路径,而是IIS中添加的虚拟目录.我希望我能够获得该虚拟目录的物理路径.我认为虚拟目录是IIS的一个特殊功能,它看起来像一个完整虚拟路径的子路径,但可以是物理Web根文件夹之外的文件夹.
2015年10月4日
请参阅ASP.NET 5 Hosting repo中的这个问题,到目前为止,我们似乎无法获得IIS中虚拟目录的物理路径.
我必须在树枝中"删除"文件夹(已将标记为已删除,我更改了标记的值).每个文件夹都可以包含文件或文件夹(存储在不同的表中).我有一个CTE,它定义了所有需要更新的文件夹.
WITH arbre(id) AS(
SELECT idDossier
FROM portail_managers_dossier
WHERE idDossier = @id
UNION ALL
SELECT d.idDossier
FROM portail_managers_dossier AS d
INNER JOIN arbre AS a
ON a.id = d.idParent)
Run Code Online (Sandbox Code Playgroud)
然后我有两个UPDATE请求,每个表一个
UPDATE portail_managers_dossier
SET dtDateSuppr = NULL
WHERE idDossier IN (SELECT id FROM arbre);
UPDATE portail_managers_document
SET dtDateSuppr = NULL
WHERE idDossier IN (SELECT id FROM arbre);
Run Code Online (Sandbox Code Playgroud)
我的问题是:我不知道如何在不同的表上合并两个UPDATE请求.CTE仅存在于请求结束之前,因此我必须将其定义两次.有没有办法在单个请求中编写上述所有代码?
我的SQL Server 2008数据库设置为Latin1_General_100_CI_AI排序规则,但是当我使用Management Studio查询数据库时,它仍然是重音敏感的.我错过了什么?
此外,我在nvarchar上连接两个表时得到了以下消息.这些表也是相同的排序规则.
无法在等于操作中解决"Latin1_General_100_CI_AI"和"Latin1_General_CI_AS"之间的排序规则冲突.
任何帮助都会得到很好的赞赏.
我将HelloMvc项目文件夹复制到另一个文件夹"Ricky"并运行kpm restore,我得到了以下输出:

我不知道出了什么问题."kpm restore"在其原始文件夹中成功运行,该文件夹是从asp.net/home存储库中克隆的.
我正在尝试创建一个ASP.NET vNext WebAPI + AngularJS +实体框架项目.但显然,在EF7中有很多变化,所以我遇到了以下问题:
我改变了project.json如下:
"dependencies": {
"Microsoft.AspNet.Server.IIS": "1.0.0-beta1",
"EntityFramework": "7.0.0-beta1",
"EntityFramework.SqlServer": "7.0.0-beta1",
"EntityFramework.Commands": "7.0.0-beta1",
"Microsoft.AspNet.Mvc": "6.0.0-beta1",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta1",
"Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta1"
Run Code Online (Sandbox Code Playgroud)
在我的DataContext类中,我尝试以下方法:
using System;
using Project1.Models;
using Microsoft.Data.Entity;
namespace Project1.DataAccess
{
public class DataContext
{
public DbSet<Website> Websites { get; set; }
public DataContext()
{
Microsoft.Data.Entity.Infrastructure.Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DataContext>());
//Database.SetInitializer(new DropCreateDatabaseAlways<DataContext>());
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
首先:为什么命名空间System.Data.Entity改为Microsoft.Data.Entity?在任何microsoft msdn文章中我都找不到任何有关此更改的内容!
第二:整体Database.SetInitializer不再起作用了.它建议使用Microsoft.Data.Entity.Infrastructure命名空间,但Database类不包含SetInitializer方法.
我目前正在XNA上玩游戏,我不确定如何进行以下操作......
我有这样的基础建筑物
public class BuildingsBase
{
private int _hp;
public int hp
{
get { return _hp; }
set { _hp= value; }
}
private int _woodRequired;
public int woodRequired
{
get { return _woodRequired; }
set { _woodRequired = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我有多个子类用于构建类型,例如.
public class TownHall:BuildingsBase
{
public int foodHeld;
public TownHall()
{
foodHeld = 100;
woodRequired = 500;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,设置构建子类的默认值的最佳方法是什么.
例如,市政厅的woodRequired被设置为500但在代码中的不同位置我需要访问此值,然后才能宣布市政厅的实例(当检查是否有足够的木材建造时).
我目前为每种建筑类型都有一个全局的默认变量数组,但我想知道是否有更好的方法来做到这一点.
if (Globals.buildingDefaults[BuildingType.Townhall].woodRequired < Globals.currentWood)
{
Townhall newTH = new Townhall();
}
Run Code Online (Sandbox Code Playgroud) asp.net-core ×4
c# ×2
sql-server ×2
collation ×1
constructor ×1
javascript ×1
redux ×1
subclass ×1
themes ×1