当迭代一组程序集(例如AppDomain.CurrentDomain.GetAssemblies())时,如果您尝试访问CodeBase等属性,动态程序集将抛出NotSuportedException.如何在不触发和捕获NotSupportedException的情况下判断程序集是否是动态的?
我正在开始部署我的Web应用程序,我需要保证所有要部署的程序集都是使用Release配置构建的.我们的系统是使用C#/.Net 3.5开发的.
有没有办法实现这个目标?
我是C#.NET开发人员/架构师,并且理解它使用对象(.NET对象)而不仅仅是流/文本.
我希望能够使用PowerShell在我的.NET(C#库)程序集上调用方法.
如何在PowerShell中引用程序集并使用程序集?
问候所有,
自从我第一次开始用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 .如果没有它,它们将无法加载.
如果您创建一个使用其他程序集中的东西的类库,是否可以将这些其他程序集作为某种资源嵌入到类库中?
即,不是将MyAssembly.dll,SomeAssembly1.dll和SomeAssembly2.dll放在文件系统上,而是将其他两个文件捆绑到MyAssembly.dll中,并且可以在其代码中使用.
我也对.NET程序集为.dll文件的原因感到有些困惑.在.NET之前,这种格式不存在吗?所有.NET程序集都是DLL,但并非所有DLL都是.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.
我想知道我应该在GAC中部署哪种程序集.
案例1:如果在我的解决方案中多个项目使用log4net.dll,那么它应该部署在GAC中吗?
案例2:如果我在一台机器中部署了多个应用程序,每个使用log4net.dll,这是将log4net.dll部署到GAC的原因吗?
我有3个项目的解决方案:
当我试图建立它时,我收到一个警告:
引用类型'AVSoft.ParsersBase.IParseRule'声称它在'c:\ Users\Tim\Dropbox\projects\Image Downloader\ParsersLibrary\bin\Debug\ParsersLibrary.dll'中定义,但无法找到
为什么VS试图AVSoft.ParsersBase.IParseRule在ParsersLibrary.dll中找到?ParsersLibraryTest引用了ParsersBase,它没有任何意义.
在Web应用程序中,我想在/ bin目录中加载所有程序集.
由于这可以安装在文件系统的任何位置,因此我无法保护存储它的特定路径.
我想要一个List <>的Assembly程序集对象.
我正在查看System.Data.SQLite下载页面,它列出了.NET 4的混合模式程序集和常规(我假设).我将要使用这个库的项目是.NET 4,它将被编译为x86.
我有两个问题:
assemblies ×10
c# ×5
.net ×4
.net-4.0 ×1
asp.net ×1
debug-mode ×1
deployment ×1
dll ×1
dynamic ×1
gac ×1
powershell ×1
release-mode ×1
sqlite ×1
web-config ×1