目前,我将发布版本与Nuget一起打包到nuget.org的官方版本,但是我使用Nuget将调试版本打包为符号源推送到symbolsource.org.
编辑:( Jon Skeet,与Noda Time开发有一些偏见)
NuGet现在支持推送到NuGet gallery 和 symbolsource.org(或类似的服务器),如文档所述.不幸的是,这里有两个相互矛盾的要求:
这没关系,但是NuGet没有(据我所知)允许在同一个包中以有用的方式发布发布和调试版本.
所以,选择是:
前两个真正归结为调试和发布版本之间差异的影响......虽然值得注意的是,想要进入库代码之间也存在很大差异,因为你想要检查一些行为,并且想要调试库的代码,因为你相信你发现了一个bug.在第二种情况下,最好将库的代码作为Visual Studio解决方案并以这种方式进行调试,因此我不会过多关注这种情况.
我的诱惑是继续发布版本,期望相对较少的人需要调试,并且那些不会受发布版本中的优化影响很大的人.(无论如何,JIT编译器完成了大部分优化.)
那么,我们还没有考虑过其他选择吗?是否有其他考虑因素可以达到平衡?将NuGet软件包推向SymbolSource是否足够新,"最佳实践"真的还没有建立?
我正在使用ASP.NET 5 RC中的属性路由,包含在Visual Studio 2013 RC版本中.
我想通过根路径,/
导致规范/Home/Index
路径,但我找不到一种方法只使用属性路由来做到这一点.是否有可能,如果不是,如果我也使用OWIN SelfHost,我将如何做?换句话说,我HttpConfiguration
在WebApp.Start<T>
方法中手动设置我自己的类(其中T
有一个Configure(IAppBuilder)
在启动时调用的方法)而不是通过该RouteTable.Routes
对象.或者我应该通过RouteTable.Routes
对象?当我尝试时,我没有太多运气...
编辑:这是我到目前为止所尝试的:
// normal Web API attribute routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultWeb",
routeTemplate: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
Run Code Online (Sandbox Code Playgroud)
下面的第二次尝试看起来有点可疑,因为我的HttpConfiguration
对象与静态RouteTable.Routes
对象的关系并不清楚:
// normal Web API attribute routes
config.MapHttpAttributeRoutes();
RouteTable.Routes.MapRoute(
name: "DefaultWeb",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
Run Code Online (Sandbox Code Playgroud) asp.net-mvc self-hosting asp.net-mvc-routing owin visual-studio-2013
这更像是一个假设的问题,但我一直想知道为什么这个案子被认为是冲突.如果我在本地删除了一个已经从存储库中删除的目录,为什么这不会像你期望的那样解决?我不知道哪个角落的案例会使冲突地位成为必要?
那它在哪里?我检查了通常的嫌疑人,即程序文件和程序文件(x86),但我没有在那里看到任何GitHub.
问题说明了一切.我正在尝试编写一个Visual Studio插件(2012),实验实例总是在没有运行插件的情况下启动.主实例中没有命中断点,实验实例也没有加载插件.
我应该指出:它曾经一次或两次工作,然后我删除了项目,因为我认为这是一个错误的项目,但最终用相同的名称重新创建它.
没有任何摆弄"允许插件加载"或重置实验实例或手动清理注册表修复问题.我也试过寻找我的addin dll,但它不在列表中.我完全没有想法和可能的搜索条件.有什么建议?
add-in visual-studio-addins visual-studio visual-studio-2012
这里有很多关于如何处理这个混乱的SO和文章的问题,但我的问题更为基础:为什么?带引号的标识符似乎是引擎如何解释查询的属性,而与内部数据无关.就索引和插入/更新查询而言,谁在乎呢?为什么这个设置很重要?
假设您允许插入/更新成功,并且在带有筛选索引的表中将quoted_identifier设置为OFF - 究竟会破坏什么?
我创建了一个全新的Web API项目,创建了一个简单的Code First模型(一个类的id和的DbContext对象,这就是它),并在包管理器控制台运行启用的迁移.
我注意到它在SQLEXPRESS而不是LocalDB中创建了数据库,尽管DefaultConnection字符串指向Web.config文件中的(LocalDB).这会导致后续查询失败,声称数据库尚未初始化.
如何在VS 2012中将Enable-Migrations命令指向LocalDB而不是SQLExpress?我已经尝试安装SQL Management Studio 2012 Express并停止SQLEXPRESS数据库,但这只会导致Enable-Migration命令失败.
有小费吗?
注意:我安装了VS 2010,以及它附带的所有默认软件(如SQL Server),所以这可能是干扰.
sql-server-express entity-framework-5 localdb visual-studio-2012
对于antlr4,有没有好的CSS语法?我知道antlr3有一些语法,但事实证明,如果没有"词法分析器模式"(在v4中添加),CSS解析并不容易.为什么?
考虑以下CSS选择器:
.hello.world { /* ... */ }
.hello .world { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
在大多数语法中,空格只是被忽略了.但是如果忽略空格,就无法在解析器级别区分上面的两个选择器.
再说一遍,如果你不忽略空格,那么语法会变得非常嘈杂吗?或WS*模式无处不在,因为空格几乎没有意义,除非它出现在选择器中.
这是来自antlr4的模式的来源,因为只要你输入不同的上下文(即不要忽略"selector"上下文中的空格),你就可以为词法分析器模式定义词法分析器的新规则.
也就是说,我会接受antlr3的任何语法,只要它正确处理空格,因为这是我们现在正在使用的版本;-)
我在 asp.net core 中有一个使用内置 DI 框架的应用程序。我想向提供者添加每个请求(即瞬态)服务,但我想在其构造中实际使用该请求。
services.AddTransient<IMyService>(provider => { ... });
Run Code Online (Sandbox Code Playgroud)
这是我能找到的最接近的重载,但该provider
对象没有任何有关当前请求的信息。有没有一种方法可以实现我想要做的事情,而无需升级到更强大的 DI 框架?
我正在寻找使用.NET Core编写一个守护进程,它基本上就像一个chron作业,只是在某个时间间隔内编排API/DB调用.因此,它不需要公开任何Web路由,因此不需要ASP.NET Core.
但是,afaik ASP.NET Core是您可以获得Startup
所有可能需要的所有DI管道和基于环境的配置的好类.
我看到它的方式,我有两个选择:
asp.net-core ×2
.net-core ×1
add-in ×1
antlr ×1
antlr3 ×1
antlr4 ×1
asp.net-mvc ×1
css ×1
daemon ×1
debugging ×1
localdb ×1
nuget ×1
owin ×1
release ×1
self-hosting ×1
sql-server ×1
svn ×1