我正在尝试使用InstallUtil.exe安装Windows服务,并收到错误消息
System.BadImageFormatException:无法加载文件或程序集'
{xxx.exe}'或其依赖项之一.尝试加载格式不正确的程序.
是什么赋予了?
编辑:(不是由OP)从dup获取的完整消息获得更多点击[对于googleability]:
C:\ Windows\Microsoft.NET\Framework64\v4.0.30319> InstallUtil.exe C:\ xxx.exe Microsoft(R).NET Framework安装实用程序版本4.0.30319.1版权所有(c)Microsoft Corporation.版权所有.
初始化安装时发生异常:System.BadImageFormatException:无法加载文件或程序集'file:/// C:\ xxx.exe'或其依赖项之一.尝试加载格式不正确的程序.
如何将IoC容器用于单元测试?使用IoC在大型解决方案(50多个项目)中管理模拟是否有用?有经验吗?任何C#库在单元测试中都能很好地使用它吗?
我理解Rx的基础知识.我正在努力的是你如何在学术范例之外实际使用它?什么是常见的,简单的现实场景,其中Rx是比我们今天在.NET中更好的解决方案?
我有一个应用程序需要检测它是否以提升的权限运行.我目前的代码设置如下:
static bool IsAdministrator()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole (WindowsBuiltInRole.Administrator);
}
Run Code Online (Sandbox Code Playgroud)
这可以检测用户是否是管理员,但如果以没有提升的管理员身份运行则不起作用.(例如在vshost.exe中).
如何判断高程是否[已经生效或]可能?
我在使用从Windows服务到我的Web服务器上运行的WCF服务的WCF调用时遇到问题.这个电话已经工作了好几个星期,但后来突然停止了工作,此后一直没有工作.
我得到的例外是:
发生常规错误System.ServiceModel.CommunicationException:发出HTTP请求时发生错误
然后它说
这可能是由于在HTTPS情况下未使用HTTP.SYS正确配置服务器证书.这也可能是由客户端和服务器之间的安全绑定不匹配引起的.
我在两端使用的安全性是wsHttpBinding,没有任何加密.它也只是使用HTTP - 而不是HTTPS,所以我不确定它为什么抱怨HTTPS.
内部异常堆栈的其余部分是:
SystemNet.WebException:基础连接已关闭:发送时发生意外错误.---> System.IO.IOException:无法将数据写入传输连接:提供了无效参数.---> System.Net.Sockets.SocketException:在System.Net.Sockets.NetworkStream.MultipleWrite(BufferOffsetSize [])的System.Net.Sockets.Socket.MultipleSend(BufferOffsetSize [] buffers,SocketFlags socketFlags)中提供了无效参数.缓冲区)
我还应该注意到,我的程序中发生这种情况的点是在Web服务调用的"执行"行 - 也就是说,只要我调用Web服务并将其传递给包装的DataContract对象,它炸毁.
所有这些服务正在做的是传递大量的XML(作为.NET对象传递给客户端的调用),然后它做了一些工作.可能正在传输大约100-200k的XML.我已经将两端数据大小的限制提高到超过6兆,但这似乎没有帮助.
有任何想法吗?
有关此问题的更多信息:
当我们在本地复制客户端环境时,我们发现除非我们进行以下更改,否则我们无法上传大量的XML:1.在服务器上,将"maxRequestLength"设置为100 MB(比我们发送的方式更高)2.在客户端,我们将dataContractSerializer标记下的maxItemsInObjectGraph的值设置为"2147483646".
通过这些更改,我们的本地安装成功上传.但是,客户端在其服务器上的安装仍然失败.有趣的是,一旦我们在服务器上更改了maxRequestLength值,我们的测试安装就会开始抛出一个与maxItemsInObjectGraph设置有关的错误.而在我们客户端的服务器上,仍然发生原始的"HTTP.sys"错误.
正如我之前提到的,我们根本没有使用SSL,还有2个其他Web服务调用以相同的方式执行和上传XML.但是,由于非工作服务呼叫传输更多数据,这似乎是一个大小问题.
但是,如果客户端遇到的问题与我们的测试安装相同,我不明白为什么客户端错误消息与ObjectGraph错误无关.
是否有可能我们只是为客户端上的每个可能的错误获取通用的"无效参数""HTTP.sys"错误(即它真的得到了objectGraph错误,但只是没有显示它?)
希望这很容易.我有一个带有两个文件(Program.fs,Stack.fs)的F#项目(最新的F#CTP).在Stack.fs中,我有一个简单的命名空间和类型定义
Stack.fs
namespace Col
type Stack=
...
Run Code Online (Sandbox Code Playgroud)
现在我尝试通过声明在Program.fs中包含命名空间
open Col
Run Code Online (Sandbox Code Playgroud)
这不起作用,并给我错误"未定义名称空间或模块Col".然而,它是在同一个项目中定义的.我必须遗漏一些明显的东西
我知道语法:
ALTER TABLE [TheTable] DROP CONSTRAINT [TheDefaultConstraint]
Run Code Online (Sandbox Code Playgroud)
但是当我不知道它的名字时,如何删除默认约束?(也就是说,它是在CREATE TABLE时间自动生成的.)
我想要做的是为I1构建一个moq - 这很好......但是在我测试的方法过程中使用这个模拟我需要将它转换为I2才能访问一些不在的属性I1
Interface I1
{ int AProperty{get;set;}}
Interface I2
{int AnotherProperty{get;set;}}
Run Code Online (Sandbox Code Playgroud)
然后我有一些对象
Class O1 : I1 {}
Run Code Online (Sandbox Code Playgroud)
和
Class O2 : O1 , I2 {}
Run Code Online (Sandbox Code Playgroud)
问题是,当我有一个I2实现对象的实例时,我可以将它转换为I1,以便访问通过该接口实现的方法.在代码中,这不是问题,并且每个标志都按预期工作.
在该类上编写单元测试时,唯一的问题就出现了.
接口还公开了一个名为GetNewInstance的方法,该方法返回一个初始化的实现对象实例,该实例对象被转换为IGetNewInstance接口...我通常可以模拟这个并使其自行返回(因此我继续使用模拟对象).
但是,当您尝试将此类型I2的返回对象转换为I1时,将引用空引用 - 这是有意义的,因为实现I2的模拟对象不会从继承I1的任何内容继承.
问题是我如何强制模拟对象同时从I1和I2继承?
我决定开始使用Ninject并面临一个问题.说我有以下场景.我有一个IService接口和2个实现此接口的类.而且我还有一个类,它有一个构造函数获取IService和一个int.如何使用Ninject创建此类的实例(我不想硬连接这个int,我想在每次获取实例时都传递它)?
以下是一些说明情况的代码:
interface IService
{
void Func();
}
class StandardService : IService
{
public void Func()
{
Console.WriteLine("Standard");
}
}
class AlternativeService : IService
{
public void Func()
{
Console.WriteLine("Alternative");
}
}
class MyClass
{
public MyClass(IService service, int i)
{
this.service = service;
}
public void Func()
{
service.Func();
}
IService service = null;
}
class Program
{
static void Main(string[] args)
{
IKernel kernel = new StandardKernel(new InlineModule(
x => x.Bind<IService>().To<AlternativeService>(),
x => x.Bind<MyClass>().ToSelf())); …Run Code Online (Sandbox Code Playgroud) 我有一个xUnit.net测试如下:
static class MyTestClass
{
[Fact]
static void MyTestMethod()
{
}
}
Run Code Online (Sandbox Code Playgroud)
VS 2012的xUnit插件说:
没有测试发现.
TestDriven.net运行得很好,但提到了Ad hoc:
1次传递,0次失败,0次跳过(参见"任务列表"),耗时0.47秒(Ad hoc)
TeamCity的,xunit.gui.exe并xunit.console.exe和Visual Studio还无法找到TestMethod
(我已xunit.runner.visualstudio安装,VS正在进行一些测试.)
是什么赋予了?
c# ×4
.net ×3
unit-testing ×3
64-bit ×1
constraints ×1
default ×1
f# ×1
inheritance ×1
interface ×1
mocking ×1
moq ×1
ninject ×1
sql ×1
t-sql ×1
uac ×1
wcf ×1
wcf-security ×1
web-services ×1
x86 ×1
x86-64 ×1
xml ×1
xunit.net ×1