标签: assemblies

如何判断.NET程序集是否动态?

当迭代一组程序集(例如AppDomain.CurrentDomain.GetAssemblies())时,如果您尝试访问CodeBase等属性,动态程序集将抛出NotSuportedException.如何在不触发和捕获NotSupportedException的情况下判断程序集是否是动态的?

.net assemblies dynamic

44
推荐指数
2
解决办法
4828
查看次数

如何使用Debug或Release配置检查程序集是否已构建?

我正在开始部署我的Web应用程序,我需要保证所有要部署的程序集都是使用Release配置构建的.我们的系统是使用C#/.Net 3.5开发的.

有没有办法实现这个目标?

c# build-process assemblies release-mode debug-mode

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

如何使用PowerShell引用.NET程序集

我是C#.NET开发人员/架构师,并且理解它使用对象(.NET对象)而不仅仅是流/文本.

我希望能够使用PowerShell在我的.NET(C#库)程序集上调用方法.

如何在PowerShell中引用程序集并使用程序集?

powershell assemblies

42
推荐指数
2
解决办法
6万
查看次数

定位框架真正意味着什么,以及如何最大化兼容性?

问候所有,

自从我第一次开始用C#编码以来,这让我很困惑.我的目标是创建一个程序集,该程序集将在用户拥有的最新.NET框架上运行,无论可能是什么.我不想要安装.NET 4,但是如果用户拥有它,我想使用它,更重要的是,如果用户只有 .NET 4而且下面没有任何内容,我希望它仍然有用.我开始怀疑这甚至不可能.

当我在Visual Studio中更改"目标框架"时,我真的不明白我在选择什么.这是否意味着"将与此版本兼容"?或者"只与这个版本兼容"?到目前为止似乎是后者; 我在虚拟机中的测试表明.NET 4目标程序集在没有.NET 4的情况下失败,而.NET 3.5目标程序集在没有.NET 3.5的情况下失败.有没有办法设置这个,所以我可以实现最大的兼容性?

更新:为了澄清,我有一个针对.NET 2的程序.这里的海报似乎表明它应该加载.NET 4.但是在只有.NET 4且之前没有任何东西的环境中,它无法加载.

UPDATE2:好的,想通了,但它比这里的海报似乎要复杂得多.我正在打开一个不同的问题来讨论错综复杂的问题,但简短的版本是,<supportedRuntime version="v4.0" />如果你想在.NET 4上运行非.NET 4程序集,你需要一个app.config .如果没有它,它们将无法加载.

.net c# compatibility assemblies backwards-compatibility

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

将组件嵌入另一个组件中

如果您创建一个使用其他程序集中的东西的类库,是否可以将这些其他程序集作为某种资源嵌入到类库中?

即,不是将MyAssembly.dll,SomeAssembly1.dllSomeAssembly2.dll放在文件系统上,而是将其他两个文件捆绑到MyAssembly.dll中,并且可以在其代码中使用.


我也对.NET程序集为.dll文件的原因感到有些困惑.在.NET之前,这种格式不存在吗?所有.NET程序集都是DLL,但并非所有DLL都是.NET程序集吗?为什么他们使用相同的文件格式和/或文件扩展名?

.net c# dll assemblies

41
推荐指数
4
解决办法
3万
查看次数

ASP.Net无法创建/卷影副本

我在开发ASP.Net应用程序时反复出现此错误:

  Cannot create/shadow copy 'XXXXX' when that file already exists
Run Code Online (Sandbox Code Playgroud)

其中XXXXX是随机DLL.通常,DLL是Microsoft企业库中的DLL之一,但它有所不同.

它真的是随机的,而且非常令人沮丧.我会花几个小时没有收到错误,然后每10-20分钟得到一次这个错误.

我见过几种解决方案.例如,这个问题.我尝试过使用Clean Solution选项,我也只是重新启动了我的本地IIS.但是,它仍然以相同的随机但持续的频率发生.

我也看到很多人提到在配置文件中使用这个选项:

<hostingEnvironment shadowCopyBinAssemblies="false" />
Run Code Online (Sandbox Code Playgroud)

然而,其他人已经提到它存在问题,绝对不应该用于生产.

那么,我应该放弃并尝试使用shadowCopyBinAssemblies选项吗?(并确保不要将此更改复制到其他环境中.)我是唯一经常遇到此问题的人吗?

注意:我使用的是Visual Studio 2008.

asp.net assemblies web-config

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

我应该何时将我的程序集部署到GAC中?

我想知道我应该在GAC中部署哪种程序集.

案例1:如果在我的解决方案中多个项目使用log4net.dll,那么它应该部署在GAC中吗?

案例2:如果我在一台机器中部署了多个应用程序,每个使用log4net.dll,这是将log4net.dll部署到GAC的原因吗?

.net deployment assemblies gac

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

错误:引用类型声明已定义,但无法找到

我有3个项目的解决方案:

  • ParsersBase,定义接口IParseRule
  • ParsersLibrary,它引用了ParsersBase并定义了一个类HtmlImageUrlParseRule:IParseRule
  • ParsersLibraryTest,引用ParsersBase和ParsersLibrary并使用一些测试方法定义测试类

当我试图建立它时,我收到一个警告:

引用类型'AVSoft.ParsersBase.IParseRule'声称它在'c:\ Users\Tim\Dropbox\projects\Image Downloader\ParsersLibrary\bin\Debug\ParsersLibrary.dll'中定义,但无法找到

为什么VS试图AVSoft.ParsersBase.IParseRule在ParsersLibrary.dll中找到?ParsersLibraryTest引用了ParsersBase,它没有任何意义.

c# assemblies visual-studio

41
推荐指数
6
解决办法
5万
查看次数

如何从/ bin目录中加载所有程序集

在Web应用程序中,我想在/ bin目录中加载所有程序集.

由于这可以安装在文件系统的任何位置,因此我无法保护存储它的特定路径.

我想要一个List <>的Assembly程序集对象.

c# assemblies

39
推荐指数
3
解决办法
5万
查看次数

什么是混合模式组件?

我正在查看System.Data.SQLite下载页面,它列出了.NET 4的混合模式程序集和常规(我假设).我将要使用这个库的项目是.NET 4,它将被编译为x86.

我有两个问题:

  1. 什么是混合模式组件?谷歌回复了一系列令人困惑的答案,但这些答案都没有多大意义.一个答案表明,所有这些都是关于混合原生代码和托管代码,而其他人则认为它混合了.Net版本.
  2. 我应该从哪个下载中找到我的情况?

sqlite assemblies .net-4.0 system.data.sqlite

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