我从MSDN订阅升级到Visual Studio 2015,因为我很高兴阅读有关共享项目的内容...当我们想要做的只是重用代码时,不再需要在我们的依赖项中管理21382个nuget包.
所以我用一些代码构建了一个测试共享项目.然后我在.Net 4.6上添加一个新的空Web应用程序到项目中.现在我希望转到引用并在引用窗口中看到"共享项目"选项卡,但我没有看到.
现在我可以在同一个解决方案中添加一个类库,然后我会看到该选项卡并添加共享引用.但是我无法将共享项目添加到我的Web应用程序中.
我非常希望我可以使用这个概念与多个MVC项目共享视图.
我在这里遗漏了什么,或者是与Web Projects不兼容的共享项目?
我看到的唯一方法是为我构建的每个Web应用程序提供两个项目.代码为1,内容为1.
例如
XYZ.SomeWebSite.Code (Class Library Project Type) -> references Shared Project
XYZ.SomeWebSite (Web Project Type)
Run Code Online (Sandbox Code Playgroud)
然而,走这条路线,我将无法将视图,文本文件,CSS文件,javascript文件等推送到Web应用程序中.
我正在调试一个在visual studio中运行的Web应用程序,其中包含一些代码的断点,这些代码在我的Web应用程序的每个请求上运行.
我发现在chrome中,当我输入通过主机的url时,它会触发对我键入的所有内容的请求...就像chrome预取页面以使其加载更快或某些东西.
虽然非常适合浏览网页,但在调试代码时非常烦人.
任何人都知道一种禁用的方法,我用Google搜索了几种不同的方式以及我可以关闭的内容,但它仍然会在我输入时发出请求.
在.Net Core中,您可以使用[DllImport]进行PInvoke,
但是如果你想动态加载和映射本机api调用,DllImport并不能解决问题.
在Windows上,我们使用DllImport到LoadModule处理了这个问题.然后,您可以使用GetProcAddress将地址映射到您可以调用的委托,从而有效地动态加载api调用.
有没有办法在.Net Core中开箱即用,这样你的逻辑加载工作就可以在Linux,Mac OSX和Windows上跨平台工作?
这可以建立,但我试图看看有没有办法在追逐那只兔子之前做到这一点.
c# asp.net-core-mvc .net-core asp.net-core-1.0 asp.net-core-2.0
想象一下像这样的物体
public class ContentType
{
public string Alias { get; set;}
public string ParentAlias { get; set;}
}
Run Code Online (Sandbox Code Playgroud)
还有这些物品的扁平集合
List<ContentType> contentTypes...;
Run Code Online (Sandbox Code Playgroud)
如何使用linq链式语法查询来确定集合中是否存在循环引用.
//Example
ContentType #50
Alias: Truck
ParentAlias: Vehicle
ContentType #90
Alias: Vehicle
ParentAlias: Truck
Run Code Online (Sandbox Code Playgroud)
这将是一个循环依赖,它将破坏创建内容类型的代码(它将陷入无限循环中走父层次结构......)
因此,在处理父/子内容类型之前,我想首先检测集合中是否存在循环依赖关系,并在检测到操作时停止操作.
我为Umbraco开发了一个使用角度的评论插件.因此,该站点的主要角度应用程序必须注入注释系统模块才能工作.
例如
var theirSite = angular.module('someApp', []);
Run Code Online (Sandbox Code Playgroud)
注射
var theirSite = angular.module('someApp', ['theCommentSystemModule'];
Run Code Online (Sandbox Code Playgroud)
在我的评论系统中,
angular.module('theCommentSystemModule']....;
Run Code Online (Sandbox Code Playgroud)
有什么方法我的模块可以自动检测角度应用程序并注入自己,而不需要更新站点的代码?我希望它只使用脚本链接.
例如:说这些是脚本
<script src="...angular.js">
<script src="...services.js">
<script src="...directives.js">
<script src="...commentsPlugin.js">
<script src="...theirApp.Js">
Run Code Online (Sandbox Code Playgroud)
所以我基本上需要的是在应用程序被引导时从角度进行某种回调,因此我可以将注释系统模块作为依赖模块注入应用程序,以便它将在其引导层中初始化.
或者,也许,或者,我自己在插件中自己引导页面?可以同时运行两个应用程序,例如,如果我引导它们的应用程序也是bootstrap的.
我正在开发一组角度指令来驱动我正在为知识库应用程序工作的工具栏.
我遇到的问题是让我的父指令处理嵌套在其中的子指令有关父指令上的模板.
我想要这样的概念,
-Toolbar - >按钮组 - > - >按钮
所以我有三个指令
xyz-toolbar xyz-toolbar-button-group xyz-toolbar-button
工具栏指令仅限于A,属性.按钮组和按钮是限制E(仅限元素).
每个指令都有独立的范围,(我通过指令中的控制器链接传递东西.)
但问题是我想在按钮组指令(内联)中使用模板并让它包含任何按钮.
例如,我有这样的标记(这是asp.net MVC中的主模板),它是一个部分视图,它被加载到工具栏将呈现的标题中.
<kb-toolbar>
<kb-toolbar-button-group>
<kb-toolbar-button kb-toggle="ng-class: Button.Toggled ? 'fa fa-2x fa-save': 'fa fa-2x fa-edit'" ng-attr-title="Button.Title">{{!Button.IsToggle ? Button.Text: ''}}</kb-toolbar-button>
</kb-toolbar-button-group>
</kb-toolbar>
Run Code Online (Sandbox Code Playgroud)
现在我有一个kb-toolbar指令
app.modules.main.directive("kbToolbar", function () {
return {
scope: {},
restrict: 'A',
link: function ($scope, element, attrs) {
},
controller: function ($scope) {
var buttonGroups = new Array();
this.addButtonGroup = function (buttonGroup) {
buttonGroups.push(buttonGroup);
}
$scope.buttonGroups = buttonGroups;
}
}
});
Run Code Online (Sandbox Code Playgroud)
然后是按钮组
app.modules.main.directive("kbToolbarButtonGroup", function …Run Code Online (Sandbox Code Playgroud) javascript asp.net-mvc-4 angularjs angularjs-directive angularjs-ng-transclude
我使用新的xproj扩展和project.json在Visual Studio中有一个dotnet cli WebApp.
dotnet new --t web --lang c#
Run Code Online (Sandbox Code Playgroud)
我有一个网站工作并运行.NetCoreApp就好了.但是,我无法在不添加中间件的情况下在IIS中加载站点,具体取决于IIS,我宁愿不这样做.
所以我使用的是IIS Express.
为此,我必须运行项目以使IIS运行以便能够在调试模式下使用该站点.
我想知道的是我如何让IIS Express保持运行,并在运行项目时附加到它.
我已阅读有关禁用"编辑并继续"的所有指南.这确实适用于ASP.Net Web应用程序,但这是一个dotnet核心WebApp,并不是同一个项目类型.它没有"属性"窗口,其中包含禁用"编辑"和"继续"的选项,并且在IDE的"调试选项"中禁用"编辑并继续"无效.
当我停止运行项目时,IIS关闭.
有任何想法吗?
或者,我如何将其配置为在IIS中本地运行而不依赖它,我可以提出的最佳选择是使用条件编译.
您不能在EF7上使用与SQLite的相对连接字符串,因此我需要一种方法在配置DBContext的ConfigureServices Routine期间从Startup.cs中获取应用程序目录.
知道如何使用.NetCoreApp库做到这一点吗?
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
//Figure out app directory here and replace token in connection string with app directory.......
var connectionString = Configuration["SqliteConnectionString"];
if (string.IsNullOrEmpty(connectionString))
throw new Exception("appSettings.json is missing the SqliteConnectionString entry.");
services.AddDbContext<MyContext>(options =>
{
options.UseSqlite(connectionString, b => b.MigrationsAssembly("xyz.myproject.webapp"));
});
}
Run Code Online (Sandbox Code Playgroud) c# ×5
angularjs ×2
asp.net-core ×2
.net-4.6 ×1
.net-core ×1
dotnet-cli ×1
javascript ×1
linq ×1