我有一个.NET 3.5类库,我正在尝试编写一些自动化测试,但是我在解决方案中运行任何测试时遇到以下错误:
测试方法Common.Tests.CommonTests.TestMethod1引发异常:System.IO.FileNotFoundException:无法加载文件或程序集'Library.Common,Version = 0.0.1.22004,Culture = en-AU,PublicKeyToken = null'或其依赖项之一.系统找不到指定的文件.WRN:程序集绑定日志记录已关闭.
要启用程序集绑定失败日志记录,请将注册表值[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)设置为1.
注意:程序集绑定失败日志记录会导致一些性能损失.
要关闭此功能,请删除注册表值[HKLM\Software\Microsoft\Fusion!EnableLog].
我对单元测试比较陌生,所以我很难过.
我已经比较了lib和测试项目之间的引用,唯一的区别是测试项目引用了MS单元测试DLL.
编辑澄清
我在"Library.Common"项目中使用了测试创建向导,因此测试项目引用了Library.Common项目.我也清理并构建了解决方案,这不是问题所在.
Library.Common.dll也在我的测试项目输出的bin\Debug文件夹中.
我正在研究一个使用mercurial的项目,并且它已经陷入了一些混乱的问题,其中包括许多用于所有密集目的的磁头.
我想杀掉这些头并将提交图重新放回一行.
我被告知有一种合并分支的方法,但同时忽略任何文件更改,所以基本上只是合并树,但我似乎无法解决命令集.
有没有办法做到这一点,通过合并和忽略文件更改来杀掉分支?或者有没有一种方法可以在没有更改的情况下再次引入图形(在项目中没有大的不相关性)?
我有一个像这样的TypeScript类:
class Foo<Props extends {}> {
public readonly props: Props;
public readonly otherStuff: string[];
constructor(properties: Props | string[], otherStuff?: string[]) {
if (properties instanceof Array) {
this.otherStuff = properties;
this.props = {} as Props;
} else {
this.props = properties;
this.otherStuff = otherStuff || [];
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题在于,这会导致tslint 中的无对象文字类型断言规则失败(this.props = {} as Props在线)。如果删除as Props零件,{}则会收到无法分配给type 的错误Props。
在不禁用该tslint规则的情况下,您将如何进行设置?
供参考,这是预期的用法:
type X = { foo: string; }
const foo = …Run Code Online (Sandbox Code Playgroud) 最好的位置是在web.config customError部分中为SharePoint设置404错误页面,还是在网站集/ Web应用程序上有配置设置?
我有一个ASP.NET页面,上面有一个表单.它上面还有一个搜索表单.搜索位于页面的右上角,因此搜索按钮首先添加到控件层次结构中.
当您处理另一个表单并按Enter键时,将单击搜索按钮.我不想要这个,我希望当你按下输入时,单击该表单的按钮.
我试过像这样使用jQuery:
$('#textBoxId').keyup(function(e) {
if(e.keyCode === 13) {
$('#buttonId').click();
e.preventDefault();
}
});
Run Code Online (Sandbox Code Playgroud)
但提交的表单,意味着客户端验证没有运行(即onclick事件处理程序没有在按钮上运行).
实现这一目标的最佳方法是什么?
我正在创建一个SharePoint功能,该功能将用于将一些内容类型(及其自定义列/字段)部署到一个新的SharePoint站点中.
我已经使用外部工具为内容类型生成CAML(Andrew Connell的自定义STSADM命令)但是当我将它们放入功能并运行它时我遇到了问题.
该功能会像我期望的那样激活,但是当我尝试查看网站内容类型(/_settings/mngctypes.aspx)时,CPU会使用高达100%的使用率(w3wp)并保持不变.
有没有人看过这个,知道如何解决它?
我正在开发一个框架扩展,它使用Ninject作为IoC容器来处理动态注入,但是我在尝试解决这个问题时遇到了一些麻烦.
我的框架的期望是你将传入,IModule(s)所以它可以很容易地在MVC,WebForms等中使用.所以我有这样的类结构:
public class NinjectFactory : IFactory, IDisposable {
readonly IKernel kernel;
public NinjectFactory(IModule[] modules) {
kernel = new StandardKernel(modules);
}
}
Run Code Online (Sandbox Code Playgroud)
这很好,我可以在单元测试中创建一个实例并传入一个基本实现IModule(使用InlineModule似乎建议用于测试的构建).
问题是,直到运行时我才知道需要注入的类型,并且通过我正在扩展的框架请求它们,在这样的方法中:
public IInterface Create(Type neededType) {
}
Run Code Online (Sandbox Code Playgroud)
这里是我难倒的地方,我不确定检查的最佳方式 - >创建(如果需要) - >返回,我到目前为止:
public IInterface Create(Type neededType) {
if(!kernel.Components.Has(neededType)) {
kernel.Components.Connect(neededType, new StandardBindingFactory());
}
}
Run Code Online (Sandbox Code Playgroud)
这将它添加到组件集合中,但是如果它创建了一个实例,或者我如何创建一个实例并传入参数,我就无法解决这个问题.ctor.
我是以正确的方式解决这个问题,还是Ninject甚至不打算以这种方式使用?
我正在寻找使用MEF作为我正在构建的应用程序的插件系统.我希望每个组件都有一个标识符(GUID),我希望能够查找它.但是,在使用导出的零件时,此ID也很有用.
有没有一种方法可以让我的元数据属性包含ID以及导出部分的属性(或方法),而不是让开发人员填写两次或使用反射从属性中找到它?
如何将tick转换为1298011537289Ruby中的DateTime?
我需要转换的值来自JavaScript Date.now()调用,因此它以毫秒为单位
我在F#中创建了一个继承自C#类的类型,该类公开了一个Task<T>在C#中返回的方法.我正在尝试找出在F#中做到这一点的最佳方式
说我的C#看起来像这样:
public class Foo {
public TextWriter Out { get { return Console.Out; } }
public virtual Task<SomeEnum> DoStuff() {
return Task.FromResult(SomeEnum.Foo);
}
}
public enum SomeEnum {
Foo,
Bar
}
Run Code Online (Sandbox Code Playgroud)
我在F#中继承该类型的第一步看起来像这样:
type Bar() =
inherits Foo()
override this.DoStuff() =
this.Out.WriteLineAsync("hey from F#") |> ignore
System.Threading.Task.FromResult(SomeEnum.Bar)
Run Code Online (Sandbox Code Playgroud)
但是a)它不觉得它实际上是异步的并且b)它只是感觉不是-F#.
那么我将如何继承Foo该类并实现DoStuff期望返回的方法Task<T>呢?
sharepoint ×2
.net ×1
asp.net ×1
async-await ×1
c# ×1
c#-to-f# ×1
f# ×1
javascript ×1
jquery ×1
mef ×1
mercurial ×1
metadata ×1
ninject ×1
ruby ×1
tslint ×1
typescript ×1
unit-testing ×1