标签: assemblies

CompilerParameters.ReferencedAssemblies - 添加对System.Web.UI.WebControls的引用

我正在使用CodeDomProvider该类在运行时编译类.这适用于仅使用System命名空间的类:

using System;

public class Test
{
    public String HelloWorld()
    {
        return "Hello World!";
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用System.Web.UI.WebControls虽然编译一个类,我得到这个错误:

{error CS0006:无法找到元数据文件'System.Web.UI.WebControls'} System.CodeDom.Compiler.CompilerError

这是我的代码片段:

var cp = new CompilerParameters();

cp.ReferencedAssemblies.Add("System.Web.UI.WebControls");
Run Code Online (Sandbox Code Playgroud)

如何引用System.Web.UI.WebControls命名空间?

c# compiler-construction assemblies

9
推荐指数
3
解决办法
2万
查看次数

我似乎无法理解这个.NET程序集签名的事情

好吧,我必须愚蠢,因为我已经读过这个:http: //www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/

而我仍然没有得到它......

假设我打开项目的属性并转到"签名"选项卡,然后选中"签署程序集"并生成一个带密码的新程序集.创建了带有.pfx扩展名的强名称密钥文件,包括公钥和私钥,VS将在编译时对我的程序集进行数字签名,对吧?

私钥怎么样?不应该是私人和我,开发人员,是唯一拥有它的人吗?组件不应仅使用公钥签名吗?

任何人都可以向我解释这个吗?基本上,我想签署我的项目的程序集,并允许我用户检查程序集是否真的由我开发,我是唯一保留私钥(我认为我应该).

.net strongname assemblies signing

9
推荐指数
1
解决办法
2161
查看次数

如何将程序集添加到Visual Studio项目并引用它?

我编译了一个程序集,MySql.Data.dll并希望将它添加到一个新的Visual Studio项目中.我迷失了正确的术语以及如何最好地解决这个问题,但最终的目标是分发这个dll,以便在应用程序运行时将其包含在应用程序中.这是为了避免在最终用户的机器上使用GAC.

我试过简单地将程序集复制到项目文件夹中:

但是,我无法弄清楚如何在当前项目中添加对该dll的引用.我也没想出如何确保这个dll在编译后"留在"应用程序中.如何实现这一目标以及我可以考虑的其他事项?

.net dll assemblies reference visual-studio

9
推荐指数
3
解决办法
2万
查看次数

在.NET中解析普通的Win32 PE文件(Exe/DLL)

我需要解析普通的Win32 DLL/Exe并从中获取所有导入和导出以在控制台或GUI(即Win Forms)上显示.是否可以通过读取其导出/导入表并从中获取托管类型来解析C#.NET中的Win32 DLL/Exe?由于它是非托管PE,.NET不允许您将非托管PE文件转换为托管.NET程序集,它只生成COM托管程序集.

如何解析这些表并以托管形式获取所有方法(签名).(例如,如果char*作为参数,它应显示为IntPtr).

c# assemblies marshalling .net-3.5 portable-executable

9
推荐指数
1
解决办法
6184
查看次数

大会版本的详细信息

我们将在每个库中的Assembly.cs中找到Assembly版本.

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
Run Code Online (Sandbox Code Playgroud)

我的问题是这是什么1.0.0.0意思?

谢谢

.net c# asp.net assemblies assemblyinfo

9
推荐指数
1
解决办法
9107
查看次数

无法在C#控制台应用程序中使用外部引用

我已经尝试了下面的所有建议,但仍然没有快乐.

我现在正在尝试一个控制台应用程序,让我解释一下我正在做什么.

  1. 我在VS 2010中创建了一个新的控制台项目
  2. 我添加了许多不属于我的引用(dll),例如Castle.Winsor和N2 CMS dll
  3. 在控制台应用程序中,我可以添加使用语句指示我在引用的DLL中使用名称空间
  4. 我开始编写代码.
  5. 一旦我编译所有使用引用的DLL的代码立即抱怨"找不到类型或命名空间名称'(你是否缺少using指令或程序集引用?)"

我已经尝试将dll设置为始终复制到本地,我已将DLL复制到同一目录中,我尝试通过项目添加引用并添加对DLL本身的引用

我不会在Web应用程序项目或ASP.net项目中遇到这个问题,它们总能正常工作,只能编译为EXE,如控制台应用程序或Windows服务.

必须有一些我想念的东西,否则我现在就会有这个工作.

c# assemblies reference visual-studio-2010

9
推荐指数
1
解决办法
1万
查看次数

如何使ac #project忽略程序集的版本号?

我正在开发一个引用其他产品的dll的项目.该产品每年都有一个版本,每个版本的版本都会发生变化,但方法保持不变.当我为2010年运行我的项目构建时,当我尝试在2009年运行它时,它会抛出一个错误,因为它依赖于不同的版本.有没有解决的办法?

c# assemblies

9
推荐指数
2
解决办法
4953
查看次数

隐藏类型在.net中的Assembly.GetTypes中列出

我一直在寻找可能的解决方案,但似乎无法找到答案.我的问题是我有一些类需要完全隐藏在Assembly.getTypes中,因为我正在为一个应用程序编写一个插件,它正在拾取我需要保持隐藏的类型(即使它们被声明为私人或内部课程).

任何人都知道如何改变assembly.GetTyes返回什么,或者一个aficionado属性,以防止这些类型被列出?

c# reflection hidden assemblies

9
推荐指数
1
解决办法
804
查看次数

.NET方法(.dll)和反映版本之间的性能差异

我一直在尝试优化JavaScript编码功能(在C#中)以提高其性能(总体上是为了提高企业Web应用程序的性能).我们尝试使用.NET HttpUtility.JavaScriptStringEncode但它没有编码我们的数据层预期的方式(并且更改数据层不在表上).

使用RedGate分析器工具,我确定我们的功能的最佳性能约占总页面负载的8%.当我使用.NET函数(在接受它的页面上)时,它占总页面加载的大约.08%.我们反映了.NET函数,看看他们正在使用什么样的魔法,当我将反射的代码复制到函数中并直接运行时,它的执行率大约为10%.

我很好奇为什么.如何通过不同的方式准备.NET功能以奖励这样的性能提升?

我提前道歉,但我不能粘贴我们正在使用的功能,但我认为这不会影响回答问题.

.net c# dll assemblies

9
推荐指数
1
解决办法
520
查看次数

VS 2015已导入具有等效标识的多个程序集

我的一个项目解决方案在我安装VS 2013的系统上工作正常.但是当我在VS 2015中的另一个系统上打开相同的项目时,它会给出这个引用错误:

错误CS1703已导入具有等效标识的多个程序集:'D:\ src\packages\Microsoft.Bcl.1.1.10\lib \net40\System.IO.dll'和'C:\ Program Files(x86)\ Reference

大会\微软\ Framework.NETFramework\V4.5 \外立面\ System.IO.dll".删除其中一个重复的引用.

项目文件引用包文件,但是当它在VS中打开时,它会自动转换为Framework库路径.我无法卸载BCL包,因为它是其他包的依赖项.

编辑:

为什么解决方案在一个版本的Visual Studio中构建良好,但它在另一个版本中提供了多个程序集错误?

有没有办法解决这个问题,以便它可以在不同的版本中工作?

我也有这个问题,但他的解决方案在VS 2017中完美构建,但它无法在VS 2015上构建.

.net c# assemblies visual-studio-2015

9
推荐指数
1
解决办法
2203
查看次数