相关疑难解决方法(0)

如何创建/编辑清单文件?

我有一个来自同事的代码(可能是从网上某处获得的),但是他出去度假,我需要将它添加到清单文件中

<?xml version="1.0" encoding="utf-8" ?> 
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" 
    xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" 
    xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <assemblyIdentity version="1.0.0.0" name="MyApplication" />
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
                <requestedExecutionLevel level="requireAdministrator" 
        uiAccess="false" />
            </requestedPrivileges>
        </security>
    </trustInfo>
</asmv1:assembly>  
Run Code Online (Sandbox Code Playgroud)

我对此比较陌生,所以任何帮助都会受到赞赏.谢谢

我正在使用Visual Studio 2010

.net c# manifest visual-studio-2010 visual-studio-2008

88
推荐指数
3
解决办法
12万
查看次数

注册免费COM与C#互操作,可能吗?

是否可以使用注册免费COM与Dotnet互操作和C#?如果是这样,如何在C#项目中添加对COM对象的引用?

我有一个免费的ATL COM服务器DLL,带有嵌入式清单和两个测试客户端,一个cpp,另一个c#.cpp客户端使用import语句正确引用COM对象

#pragma comment(linker, "\"/manifestdependency:type='win32' name='TestComSvr2' version='1.0.0.0'\"")
Run Code Online (Sandbox Code Playgroud)

或者在Linker-> Manifest File选项下将'Additional Manifest Dependencies'设置为"type ='win32'name ='TestComSvr1'version ='1.0.0.0'",之后cpp客户端只要COM组件正确运行在同一目录中.

c#客户端虽然拒绝播放.

尝试将文件引用添加到未注册的COM组件dll或未注册的tlb会导致错误:

"无法添加对'blah blah'的引用.请确保该文件是可访问的,并且它是一个有效的程序集或COM组件".

仅使用'regtlib TestComSvr'注册类型库,然后创建文件或COM引用,导致c#项目无法构建:

"加载类型库/ DLL时出错.(HRESULT异常:0x80029C4A(TYPE_E_CANTLOADLIBRARY))".

通常在c#项目中注册COM组件并创建引用,将引用设置为Isolated,构建c#项目然后取消注册组件并运行c#项目会导致此异常:

由于以下错误,检索具有CLSID {B1D0A80F-0050-4856-BACD-87D664E58CBE}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG)).

注意:即使这有效,但无论如何它都不是一个有用的案例,因为最终它仍然需要注册组件,我只是测试它的彻底性.

到目前为止,我能够从C#引用COM对象的唯一方法是通过注册COM对象本身,这当然完全违背了这一点,从那以后它根本就没有注册.

有人有任何想法吗?

(这是在带有VS2010 sp1的WinXP上).

c# com visual-studio-2010

12
推荐指数
1
解决办法
6537
查看次数

如何在.NET PE可执行文件中嵌入资源?

如何在Visual Studio 2010中的.NET PE(可移植可执行文件)中包含资源?

过去,我们将创建一个资源脚本文件:

wumpa.rc:

 jqueryjs      RCDATA    "jquery.js"
 SplashLogo    PNG          "Hello world.png"
 ReportLogo    RCDATA    "ReportLogo.png"
 Users         ICON         "User XP.ico"
 Toolbar       BITMAP       "StandardToolbar24_32bpp.bmp"
Run Code Online (Sandbox Code Playgroud)

将该文件添加到项目中,编译器将编译该.rc文件; 包括最终可执行映像中的资源.

什么是托管/ .NET/Visual Studio机制来包含资源?

也可以看看


这些必须是标准资源; 你知道每个人都可以读作资源的那种:

  • 资源黑客将显示为资源
  • PEView将显示为资源
  • Internet Explorer可以使用res协议读取(例如 res://c:\foo\MyProgram.exe/PNG/SplashLogo)

我试过的东西不起作用:

  1. Resources.resx文件添加资源:

    在此输入图像描述

  2. Resources.resx文件添加资源,并指定Resource的构建操作:

    在此输入图像描述

    (也尝试了构建行动:嵌入式资源,正如我在2008年向我建议的那样)


更新:什么不起作用 …

.net resources visual-studio-2010 visual-studio

5
推荐指数
1
解决办法
4962
查看次数