小编Jes*_*ter的帖子

嵌入式资源文件在运行时不存在 .Net 4

我有一个需要在运行时访问的文件,我已将其包含在我的项目中并将其设置为嵌入式资源(它实际上是一个源文件,我将扩展名更改为 .cs.txt 以绕过 VS 尝试编译它.这应该不重要,但我无论如何都会提到它以防万一)。当我尝试获取文件时

var assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream(resourceName);
Run Code Online (Sandbox Code Playgroud)

我得到一个空值。我已确保使用 Namespace.Folder.Filename 表示法,但这没有帮助。看来该文件实际上不存在,因为当我打电话时

assembly.GetManifestResourceNames();
Run Code Online (Sandbox Code Playgroud)

我得到一个空字符串数组。知道会发生什么情况吗?

c# embedded-resource .net-assembly

3
推荐指数
1
解决办法
5244
查看次数

'/'应用程序中的服务器错误.System.Web.Http.WebHost

我正在尝试发布ASP.NET MVC 4 Internet应用程序.发布后,我继续点击我网站的链接,找到:

'/'应用程序中的服务器错误.

无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息: System.IO.FileNotFoundException:无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

程序集加载跟踪:以下信息有助于确定无法加载程序集"System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"的原因.

警告:装配绑定日志记录已关闭.要启用程序集绑定失败日志记录,请将注册表值[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)设置为1.注意:程序集绑定失败日志记录会导致一些性能损失.要关闭此功能,请删除注册表值[HKLM\Software\Microsoft\Fusion!EnableLog].

堆栈跟踪:

[FileNotFoundException:无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.系统找不到指定的文件.] c:\ Users\EAGUILARCO\Documents\Visual Studio 2012\Projects\ProyectoFinal\ProyectoFinal\Global.asax.cs中的ProyectoFinal.MvcApplication.Application_Start():26

[HttpException(0x80004005):无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.系统找不到指定的文件.] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context,HttpApplication app)+9916613 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,HttpContext context,MethodInfo [] handlers)+118 System.Web. HttpApplication.InitSpecial(HttpApplicationState状态,MethodInfo []处理程序,IntPtr appContext,HttpContext上下文)+172 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,HttpContext context)+336 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+ 296

[HttpException(0x80004005):无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.系统找不到指定的文件.] System.Web.HttpRuntime.FirstRequestInit(HttpContext …

c# .net-assembly system.web asp.net-mvc-4

3
推荐指数
1
解决办法
8849
查看次数

对汇编 FLD 指令 m64fp 感到困惑

我很困惑。我对 FLD m64fp 指令有一些疑问,但我不知道从哪里开始。因为这是作业,所以我不是特意要求答案,而是求解决问题的方法。任何建议或想法将不胜感激。

\n\n

内存中的八个连续字节包含十六进制值 01、00、00、00、00、00、00、00。执行 FLD m64fp 指令。它的参数是这八个连续字节中第一个字节的地址。作为 FLD 指令的结果,ST(0) 中的值现在为:

\n\n
1)  2^(-1075)\n2)  2^(-1074)   \n3)  2^(-1023)\n4)  2^(-1022) \n
Run Code Online (Sandbox Code Playgroud)\n\n

另外,如果我有以下汇编代码

\n\n
   \xe2\x94\x820x8048384 <main>                lea    0x4(%esp),%ecx                                                                                                                                               \xe2\x94\x82\n   \xe2\x94\x820x8048388 <main+4>              and    $0xfffffff0,%esp                                                                                                                                             \xe2\x94\x82\n   \xe2\x94\x820x804838b <main+7>              pushl  -0x4(%ecx)                                                                                                                                                   \xe2\x94\x82\n   \xe2\x94\x820x804838e <main+10>             push   %ebp                                                                                                                                                         \xe2\x94\x82\n   \xe2\x94\x820x804838f <main+11>             mov    %esp,%ebp                                                                                                                                                    \xe2\x94\x82\n   \xe2\x94\x820x8048391 <main+13>             push   %ecx                                                                                                                                                         \xe2\x94\x82\n   \xe2\x94\x820x8048392 <main+14>             fldpi                                                                                                                                                               \xe2\x94\x82\n   \xe2\x94\x820x8048394 <main+16>             fsqrt                                                                                                                                                               \xe2\x94\x82\n   \xe2\x94\x820x8048396 <main+18>             fld1                                                                                                                                                                \xe2\x94\x82\n   \xe2\x94\x820x8048398 <main+20>             fsubrp %st,%st(1)                                                                                                                                                   \xe2\x94\x82\n   \xe2\x94\x820x804839a <main+22>             mov    $0x0,%eax                                                                                                                                                    \xe2\x94\x82\n   \xe2\x94\x820x804839f <main+27>             pop    %ecx …
Run Code Online (Sandbox Code Playgroud)

floating-point x86 assembly fpu

3
推荐指数
1
解决办法
1820
查看次数

"cmovz"的GAS汇编程序操作数类型不匹配

我正在尝试编写一个简单的汇编程序.出于某种原因,条件移动似乎给了我这个错误.如果我用普通的mov指令替换它们就行了.以下代码有什么问题?

    .section .data

supported:
    .asciz "AVX is supported"
notsupported:
    .asciz "AVX is not supported"


    .section .text
    .global main
main:
    movq $1, %rax
    cpuid
    andq $0x10000000, %rcx
    cmovnz $supported, %rdi
    cmovz $notsupported, %rdi
    callq puts

    movq $0, %rax
    ret
cpuid.S:15: Error: operand type mismatch for `cmovnz'
cpuid.S:16: Error: operand type mismatch for `cmovz'
Run Code Online (Sandbox Code Playgroud)

x86 assembly gnu-assembler att

3
推荐指数
1
解决办法
354
查看次数

Microsoft.Ajax.Utilities dll:缺少程序集,在哪里下载?

这可能真的很明显,但我已经花了整整两个小时试图找到这个 dll。在哪里可以找到包含与 Microsoft.Ajax.Utilities 相关的所有内容的库?我继承了某人的代码,这是一个传奇。任何帮助深表感谢!

-F

ajax dll reference .net-assembly libraries

3
推荐指数
1
解决办法
6885
查看次数

在Maven中存储汇编文件的正确位置是什么?

在Maven的汇编指南(https://maven.apache.org/guides/mini/guide-assemblies.html)中,声明:

您会注意到程序集描述符位于$ {project.basedir}/src/assembly中,这是程序集描述符的标准位置.

但是在maven程序集插件页面(https://maven.apache.org/plugins/maven-assembly-plugin/examples/sharing-descriptors.html)中,它说:

注意:程序集描述符必须位于目录/ src/main/resources/assemblies中才能用于Assembly Plugin.

他们是两个不同的东西?他们中的任何一个都过时了吗?

java maven maven-assembly-plugin

3
推荐指数
1
解决办法
292
查看次数

data16在objdump输出中的含义是什么?

使用objdump命令:

$ objdump -M att -d  wrapping_counters_test   
Run Code Online (Sandbox Code Playgroud)

我制作了这个列表(这只是整个列表中的一个片段):

100000ae5:   31 ed                   xor    %ebp,%ebp
100000ae7:   31 d2                   xor    %edx,%edx
100000ae9:   49 89 c4                mov    %rax,%r12
100000aec:   b8 00 ca 9a 3b          mov    $0x3b9aca00,%eax
100000af1:   66 66 66 66 66 66 2e    data16 data16 data16 data16 data16 nopw %cs:0x0(%rax,%rax,1)
100000af8:   0f 1f 84 00 00 00 00
100000aff:   00
100000b00:   8d 75 01                lea    0x1(%rbp),%esi
Run Code Online (Sandbox Code Playgroud)

data16第二mov条指令后面的s 行是什么意思?

assembly x86-64 objdump

3
推荐指数
1
解决办法
1312
查看次数

Mono Cecil 添加缺少的程序集

出于某种原因,当我尝试加载一些程序集并对其进行分析时,出现错误 Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly...

我真的不在乎为什么会抛出这个异常,我知道缺少的程序集在哪里。

除了AppDomain.CurrentDomain.AssemblyResolveMono.Cecil 之外,还有一种方法可以处理诸如事件之类的事情吗?我可以手动加载丢失的程序集,但我不知道如何加载。
那么,如何为 Mono.Cecil 加载程序集?

.net c# .net-assembly mono.cecil

3
推荐指数
1
解决办法
3002
查看次数

如何使用 Turbo C 2.01 编写内联汇编?

我想在使用 Turbo C 2.01 编译的 DOS 程序中编写一些内联程序集。当我写

asm {
   nop
}
Run Code Online (Sandbox Code Playgroud)

编译器声称in-line assembly is not allowed in function .... 看:内联汇编错误 Turbo C 2.01

有任何想法吗?

c assembly inline-assembly turbo-c

3
推荐指数
1
解决办法
2592
查看次数

C#:Type.GetType 在动态加载的程序集的类上为 null

这是我关于堆栈溢出的第一个问题。我试图寻找一种解决方案,但在任何地方都找不到一个或类似的解决方案。

我有一个 MVC 网站项目,它有不同的 DLL(插件),由于这些 DLL 不需要部署在所有环境中,所以我从文件夹中的 Global.asax 中的 Application_Start 上动态加载它们,并仅部署每个环境所需的内容。所以我不知道在项目中引用它们,这样我就可以为所有人构建一个版本。

我的问题是 Type.GetType("FullClassName, AssemblyName") 总是在这些插件中的对象上返回 null。

在 Application_Start 上,我基本上加载一个程序集,将其注册到 GAC,将其加载到当前 AppDomain 中,初始化其元数据并使用反射运行其引导程序,以在全局 Unity 容器中注册组件。

foreach (string file in fileList) {
    string fileName = (Path.GetFileName(file));
    Assembly asm = Assembly.LoadFrom(file);

    foreach (Type assemblyType in asm.GetTypes()) {
        new System.EnterpriseServices.Internal.Publish().GacInstall(file);
        AppDomain.CurrentDomain.Load(asm.GetName());
        MetaDataHelper.InitialiseMetadataForAssembly(asm);
        IBootstrapper bootsrapper = (IBootstrapper)Activator.CreateInstance(assemblyType, container);
        bootsrapper.Initialise();                                    
    }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过这种方法,对我的程序集进行强命名并将它们添加到 web.config 中,但没有效果。

<dependentAssembly>
    <assemblyIdentity name="MyAssembly"  culture="neutral" publicKeyToken="123456789"/>
        <codeBase version="1.0.1524.23149" href="FILE://C:/Myassemblies/MyAssembly2.dll"/>
    </dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗我错过了什么吗?

提前致谢。

c# types appdomain gettype .net-assembly

3
推荐指数
1
解决办法
1121
查看次数