我需要在~15个项目中设置一系列属性.有没有办法将这些属性放在一个文件中,并让所有项目文件使用某种导入指令引用一个文件,而不是复制每个项目文件中的属性?
编辑:澄清一下,我在谈论<PropertyGroup>
csproj文件中的元素.所有项目都需要相同的一系列<PropertyGroup>
设置.这些元素设置类似DebugSymbols
或的属性DefineDebug
,不用于引用源文件.
我在Codeplex上有一些开源项目(如果有人要求我会链接,但除此之外,我不是那么无耻;)),但我不确定如何传播这个词或者让人们注意到.有关吸引用户/贡献者的任何建议吗?
也可以看看:
我正在尝试创建一个框架,允许将控制器和视图动态导入MVC应用程序.到目前为止它是如何工作的:
BuildManager.AddReferencedAssembly
.到目前为止,除了使用强类型模型的视图外,一切都有效.使用动态模型的视图工作正常,但是当我使用指定模型类型时@model
,我得到一个YSOD,其中显示"未找到视图'索引'或其主要".
调试我的ViewEngine实现时,我可以看到:
this.VirtualPathProvider.FileExists(String.Format(this.ViewLocationFormats[2], viewName, controllerContext.RouteData.GetRequiredString("controller")))
while返回true
this.FileExists(controllerContext, String.Format(this.ViewLocationFormats[2], viewName, controllerContext.RouteData.GetRequiredString("controller")))
返回false.
在Reflector中,RazorViewEngine的实现FileExists()
最终结束了这样做:
return (BuildManager.GetObjectFactory(virtualPath, false) != null);
Run Code Online (Sandbox Code Playgroud)
但是,我无法BuildManager.GetObjectFactory()
从Reflector 查看,因为它隐藏在某种程度上.
我怀疑它与模型类型是从MEF加载的类型这一事实有关,但由于我已经引用了MEF从BuildManager发现的程序集,所以我没有引导.任何人都可以更深入地了解可能发生的事情吗?
更新: 事实证明我在.NET 4之前使用过时版本的Reflector.我现在可以看到GetObjectFactory(),但我似乎找不到任何有用的东西.我已经尝试将其添加到我的FindView()重载中:
try {var path = String.Format(this.ViewLocationFormats [2],viewName,controllerContext.RouteData.GetRequiredString("controller")); var objFactory = System.Web.Compilation.BuildManager.GetObjectFactory(virtualPath:path,throwIfNotFound:true); } catch {}
不幸的是,objFactory
最终为null,并且不会抛出任何异常.处理编译错误的所有位都是私有方法或类型的一部分,因此我无法调试其中任何一个,但它甚至看起来他们最终会抛出异常,这似乎并没有发生.看起来我又陷入了死胡同.救命!
更新2
我发现在调用FindView()时,如果我调用AppDomain.CurrentDomain.GetAssemblies()
,则包含模型类型所在的程序集.但是,我无法使用加载类型Type.GetType()
.
更新3
这就是我所看到的:
更新4
这是ViewEngine实现:
using System;
using …
Run Code Online (Sandbox Code Playgroud) 我需要以虚线格式格式化我的GUID,全部大写.我知道使用myGuid.ToString("D")
或String.Format("{0:D}", myGuid)
给出虚线格式,但使用大写D
而不是小写d
不会给我一个大写的GUID就像我想的那样.有没有办法做到这一点,没有做任何疯狂的事情,或者我只是需要打电话myGuid.ToString().ToUpper()
?
我找到了TestExecution类,它暴露了一堆非常有用的事件.但是,除了MSDN的文档之外,我找不到对它的引用,并且文档没有提供任何关于如何使用它的提示,或者我如何在测试运行期间获得对实例的引用.
使用.NET Reflector查看也没有用 - TestExecution
由另一个类实现UnitTestExecution
,这是内部的.我无法在任何Microsoft.VisualStudio.QualityTools.*库中找到任何其他类的引用,既不是进一步实现的形式,也不是任何其他类中的属性类型引用.
我如何获得这些活动的访问权限?
我有一个非常基本的Unity应用程序,它本质上是专有框架的测试工具.它在Chrome,Firefox和Safari中运行良好.Edge是一个不同的故事.
在Edge 12中,禁用asm.js,加载需要很长时间 - 大约90秒,而其他浏览器则需要15-20秒.
在启用了asm.js的Edge 12或13中,它会快速加载,但会在Unity应用程序启动时立即崩溃选项卡.我已经能够找出"preRun"回调被调用,但"postRun"回调没有.
我无法弄清楚如何开始调试 - 如果Dev Tools调试器打开,Edge会禁用asm.js,并且分离调试器也会禁用JS控制台.我无法附加Unity调试器,因为崩溃似乎发生在我到达那一点之前.
是否有来自Edge的某种日志,我可以找到有关崩溃的任何内容,甚至可能是JS堆栈跟踪?
.NET/Visual Studio使用对象的ToString()方法在调试器中查看对象时显示对象的值.我想显示特定的信息,但由于.ToString()在将对象转换为字符串时经常被框架使用,我无法通过重写ToString()来实现.是否有一个属性可以用来告诉调试器使用不同的方法或属性?
我正在尝试将应用程序迁移到使用ChangeDetectionStrategy.OnPush
. 然而,我在尝试使用一些反应形式时遇到了一些阻碍。
我有一个可重用的控件,可以根据某些状态标志(例如*ngIf="control.touched && control.invalid"
)显示验证消息。我遇到的问题是,无法检测touched
标志何时更改,因此无法使用ChangeDetectorRef
.
可以通过侦听事件来引用输入元素本身来完成,click
但这并不能说明何时markAsTouched()
使用,并且传递对元素的引用并不总是可行的,而且总是不优雅。
有没有一种方法可以使用OnPush
并仍然响应表单控件状态(例如touched
),或者只是通常很痛苦?
angular2-changedetection angular angular-reactive-forms angular-changedetection
我正在编写一个jQuery插件,它使用一个属性来定义表单验证行为(是的,我知道已经有一个验证插件;这是我将要使用的学习练习).理想情况下,我想要这样的东西:
示例1 - 输入:
<input id="name" type="text" v:onvalidate="return this.value.length > 0;" />
Run Code Online (Sandbox Code Playgroud)
示例2 - 包装器:
<div v:onvalidate="return $(this).find('[value]').length > 0;">
<input id="field1" type="text" />
<input id="field2" type="text" />
<input id="field3" type="text" />
</div>
Run Code Online (Sandbox Code Playgroud)
示例3 - 预定义:
<input id="name" type="text" v:validation="not empty" />
Run Code Online (Sandbox Code Playgroud)
这里的目标是允许我的jQuery代码找出需要验证的元素(这已经完成),并且仍然有标记是有效的XHTML,这是我遇到的问题.我很确定这需要结合使用DTD和XML Schema,但我不太确定如何执行.
基于这篇文章,我创建了以下DTD:
<!ENTITY % XHTML1-formvalidation1
PUBLIC "-//W3C//DTD XHTML 1.1 +FormValidation 1.0//EN"
"http://new.dandoes.net/DTD/FormValidation1.dtd" >
%XHTML1-formvalidation1;
<!ENTITY % Inlspecial.extra
"%div.qname; " >
<!ENTITY % xhmtl-model.mod
SYSTEM "formvalidation-model-1.mod" >
<!ENTITY % xhtml11.dtd
PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" > …
Run Code Online (Sandbox Code Playgroud) <div>...</div>
我的HTML中有一个部分基本上就像一个工具栏.
有没有办法可以将该部分强制到网页的底部(文档,而不是视口)并将其居中?
c# ×3
.net ×2
ajax ×1
angular ×1
asm.js ×1
asp.net-mvc ×1
csproj ×1
css ×1
debugging ×1
dtd ×1
formatting ×1
guid ×1
html ×1
javascript ×1
jquery ×1
mef ×1
mstest ×1
open-source ×1
razor ×1
tostring ×1
unit-testing ×1
unity-webgl ×1
xhtml ×1
xsd ×1