标签: .net-assembly

如何在加载程序集后为.net提供pdb数据?

使用此方法Assembly.Load(Byte(),Byte()) http://msdn.microsoft.com/en-us/library/twt16z2x.aspx 可以提供pdb文件的字节表示.

鉴于已经加载了程序集,可以在事后提供pdb数据.

编辑:我正在以编程方式谈论.即没有调试器

.net .net-assembly

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

查找类和方法的参考

我试图找出使用/引用特定类的所有类和程序集.有没有办法通过C#中的编程找到?

例如,如果在in ,in中Class1调用/引用,我想找到并使用C#编程.Class2Assembly1Class3Assembly2Class2Class3

有没有人可以帮助我?有什么工具可以帮助吗?我想编写一个小程序来从一个程序集中读取类,并找到引用/使用该特定类的类.

简而言之我的问题:如何通过编写C#程序作为代码清理活动的一部分来查找代码库中未使用的类或方法?

.net c# .net-assembly

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

C#托管代码中的"AccessViolationException未处理"错误

我有新问题.我的代码:

.method public static void  Main() cil managed
{
  .entrypoint
  // Code size       3 (0x3)
  .maxstack  1
  IL_0000:  ldnull
  IL_0001:  stloc.0
  IL_0002:  ret
} // end of method Program::Main
Run Code Online (Sandbox Code Playgroud)

C#代码:

il.Emit(OpCodes.Ldnull);
il.Emit(OpCodes.Stloc_0);
il.Emit(OpCodes.Ret);
Run Code Online (Sandbox Code Playgroud)

我通过System.Reflection和System.Reflection.Emit类生成此代码.有谁知道为什么这不起作用?请帮忙.

我的错误

一个小问题 - 我应该生成构造函数吗?

c# il exception reflection.emit .net-assembly

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

Specflow插件:生成错误:缺少[assembly:GeneratorPlugin]属性

我正在编写一个自定义插件来自定义SpecFlow生成的自动生成的代码文件.

构建解决方案并将其放入SpecFlow测试项目的"lib"文件夹之后.在保存我得到的SpecFlow功能文件时

Specflow plugin : Generation error: Missing [assembly:GeneratorPlugin] attribute in 'path to dll'
Run Code Online (Sandbox Code Playgroud)

即使我在插件程序集中标记了这一点

[assembly: GeneratorPluginAttribute(typeof(CustomGeneratorPlugin))]
Run Code Online (Sandbox Code Playgroud)

使用反射/自我测试我可以自己加载程序集并解析属性

代码在这里 - https://github.com/chrismckelt/SpecFlowCustomPlugin

有什么想法导致这个?谢谢

c# xunit .net-assembly specflow

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

在OS X上检查程序集(dll)的版本

如何在OS X上检查dll的版本?

dll是用C#创建的,这就是我所知道的.

macos dll mono .net-assembly

5
推荐指数
4
解决办法
3639
查看次数

使用常量创建DLL程序集

我在解决方案中有大约3个项目的解决方案.这三个项目共享一些常见的常量,直到现在,我一直在三个项目之间进行复制和粘贴.

我想要做的是创建一个包含这些常量的程序集,并仅引用另一个项目中的程序集.问题是,我想我曾经记得在编译项目时曾经读过的地方,常量值只是从程序集"复制并粘贴"到引用它的程序集中.这意味着如果我想改变其中一个常量的值,我不能只改变一个组件.我必须再次重新编译整个解决方案.

任何人都可以确认这是否属实,如果是,请告诉我这样做的首选和替代方法,以便我可以更改我的程序集中的常量?

c# assemblies constants .net-assembly

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

计算机崩溃后VS 2013没有加载'Antlr3.Runtime'程序集

在VS2013中构建代码时,我的计算机崩溃了.重新启动后我运行我的代码而没有调试它运行正常,但在调试模式下,我得到以下异常:

无法加载文件或程序集"Antlr3.Runtime"或其依赖项之一.参数不正确.(HRESULT异常:0x80070057(E_INVALIDARG))

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

异常详细信息:System.IO.FileLoadException:无法加载文件或程序集"Antlr3.Runtime"或其依赖项之一.参数不正确.(HRESULT异常:0x80070057(E_INVALIDARG))

来源错误:

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

程序集加载跟踪:以下信息有助于确定无法加载程序集"Antlr3.Runtime"的原因.

===预绑定状态信息=== LOG:DisplayName = Antlr3.Runtime(Partial)WRN:为程序集提供了部分绑定信息:WRN:程序集名称:Antlr3.Runtime | 域ID:2 WRN:仅提供部分程序集显示名称时发生部分绑定.警告:这可能导致装订器装入错误的装配.警告:建议为程序集提供完全指定的文本标识,即WRN:由简单名称,版本,区域性和公钥标记组成.警告:有关此问题的更多信息和常见解决方案,请参阅白皮书http://go.microsoft.com/fwlink/?LinkId=109270.日志:Appbase = file:/// D:/qqq/qqq.Admin/日志:初始PrivatePath = D:\ qqq\qqq.Admin\bin

调用程序集:(未知).

日志:此绑定在默认加载上下文中启动.日志:使用应用程序配置文件:D:\ qqq\qqq.Admin\web.config日志:使用主机配置文件:C:\ Users\DevBatch\Documents\IISExpress\config\aspnet.config日志:使用C中的机器配置文件:\ WINDOWS\Microsoft.NET \框架\ v4.0.30319\CONFIG\machine.config中.日志:此时策略未应用于引用(私有,自定义,部分或基于位置的程序集绑定).日志:尝试下载新的URL文件:/// C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/051d9c22/9e0bcfb5/Antlr3.Runtime.DLL.日志:尝试下载新的URL文件:/// C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/051d9c22/9e0bcfb5/Antlr3.Runtime/Antlr3.Runtime.DLL.日志:尝试下载新的URL文件:/// D:/qqq/qqq.Admin/bin/Antlr3.Runtime.DLL.日志:使用应用程序配置文件:D:\ qqq\qqq.Admin\web.config日志:使用主机配置文件:C:\ Users\DevBatch\Documents\IISExpress\config\aspnet.config日志:使用C中的机器配置文件:\ WINDOWS\Microsoft.NET \框架\ v4.0.30319\CONFIG\machine.config中.日志:策略后引用:Antlr3.Runtime,Version = 3.3.1.7705,Culture = neutral,PublicKeyToken = 31bf3856ad364e35错误:无法完成程序集的设置(hr = 0x80070057).探测终止.Culture = neutral,PublicKeyToken = 31bf3856ad364e35错误:无法完成程序集的设置(hr = 0x80070057).探测终止.Culture = neutral,PublicKeyToken = 31bf3856ad364e35错误:无法完成程序集的设置(hr = 0x80070057).探测终止.

堆栈跟踪:

[FileLoadException:无法加载文件或程序集'Antlr3.Runtime'或其依赖项之一.参数不正确.(HRESULT异常:0x80070057(E_INVALIDARG))]

[FileLoadException:无法加载文件或程序集'Antlr3.Runtime,Version = 3.3.1.7705,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.参数不正确.(来自HRESULT的异常:0x80070057(E_INVALIDARG))] System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark&stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)+0 System. …

c# asp.net .net-assembly visual-studio-2013

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

Xamarin表单IOS无法加载程序集System.Net.Http.Primitive

我正在尝试使用Visual Studio 2015中的Xamarin.Forms为IOS应用程序执行发布构建.

在应用程序属性中的iOS Build菜单下,如果我仅设置链接器行为链接SDK程序集或链接所有程序集 - 我收到以下构建错误:

无法解析组件: 'System.Net.Http.Primitives,版本= 1.5.0.0,文化=中性公钥= b03f5f7f11d50a3a' BlackhawkPlatform.App.iOS

如果我没有链接任何程序集 - 应用程序构建正常但输出ipa超过40mb大0未压缩超过100mb因此无法提交到iTunes Connect.

我安装了最新版本的System.Net客户端库和Xamarin Forms.

在此输入图像描述

我试图通过使用--linkskip=System.Net.Http.Primitives附加mtouch参数框中的命令跳过程序集链接但该dos不起作用.

知道我怎么能绕过这个吗?

.net-assembly ios xamarin.forms visual-studio-2015

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

强大的命名组件和未签名的程序集

我有一种情况,Docusign API引用RestSharp签名程序集,公钥标记为598062e77f915f75.在同一个项目中,我使用的是Twilio API,它也引用了未签名的Restsharp程序集,显然是使用了一个空的公钥令牌.

我可以同时进行一个或另一个工作,但不能同时进行,因为我不能同时添加有符号和无符号的RestSharp引用,因为它们都具有相同的名称.

当我有一个对已签名的程序集的引用时,Docusign部分可以工作,但Twilio代码错误与此:

Could not load file or assembly 'RestSharp, Version=105.2.3.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)

当我引用无符号程序集时,Docusign错误:

Could not load file or assembly 'RestSharp, Version=100.0.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)

有没有办法解决?

我已经尝试过在我能想到的每种组合中绑定重定向:

  <dependentAssembly>
    <assemblyIdentity name="RestSharp" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-100.0.0.0" newVersion="105.2.3.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity …
Run Code Online (Sandbox Code Playgroud)

c# .net-assembly twilio docusignapi

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

C#程序集绑定重定向-Newtonsoft.Json

我有以下依赖

项目A(由我拥有)使用

  1. project_b.dll
  2. Newtonsoft.Json.dll(版本8)

项目B的用途

  1. project_c.dll
  2. Newtonsoft.Json.dll(版本9)

项目C的用途

  1. Newtonsoft.Json.dll(版本4.5)

项目A调用项目B的方法,该方法将调用项目C的方法,然后将值返回给B,然后返回A

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-655535.0.0.0" newVersion="XX" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

我试图在项目A上使用程序集绑定重定向。如果我将“ newVersion”设置为9.0,则代码会抱怨(缺少Newtonsoft.jSon.dll 4.5库)。如果我将“ newVersion”设置为4.5,则会发生相同的情况,然后会丢失Newtonsoft.Json.dll 9.0库错误。我也尝试了8.0的“ newVersion”值。看起来很简单,我认为重定向应该可以解决问题。有什么好的解决方案?项目A,项目B和项目C是否应具有相同版本的Newtonsoft.Json.dll?

提前致谢..

c# dll app-config .net-assembly

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