草庐IT

c# - ASP.NET MVC 中单独程序集中的 View

我正在尝试创建一个Web应用程序,我希望能够在其中插入单独的程序集。我使用MVC预览版4结合Unity进行依赖注入(inject),我用它从我的插件程序集创建Controller。我使用WebForms(默认为aspx)作为我的View引擎。如果我想使用View,由于ASPX部分的动态编译,我只能使用核心项目中定义的View。我正在寻找一种正确的方法来将ASPX文件包含在不同的程序集中,而无需完成整个部署步骤。我错过了一些明显的东西吗?还是我应该求助于以编程方式创建View?更新:我更改了已接受的答案。尽管Dale的回答非常详尽,但我还是选择了不同的虚拟路径提供者来寻求解决方案。它就像

c# - 使用程序集中的 Web 应用程序版本号 (ASP.NET/C#)

如何在引用的程序集中获取调用Web应用程序的版本号?我试过使用System.Reflection.Assembly.GetCallingAssembly().GetName()但它只给我动态编译的程序集(返回版本号0.0.0.0)。更新:在我的例子中,我需要一个不需要引用回Web应用程序程序集中的类的解决方案。Jason在下面的回答(标记为已接受)满足此要求-此处提交的许多其他回答没有。 最佳答案 这是我使用的一些代码,支持从Web或非Web应用程序获取应用程序的“主”程序集,然后您可以使用GetName().Version获取版本

c# - 使用程序集中的 Web 应用程序版本号 (ASP.NET/C#)

如何在引用的程序集中获取调用Web应用程序的版本号?我试过使用System.Reflection.Assembly.GetCallingAssembly().GetName()但它只给我动态编译的程序集(返回版本号0.0.0.0)。更新:在我的例子中,我需要一个不需要引用回Web应用程序程序集中的类的解决方案。Jason在下面的回答(标记为已接受)满足此要求-此处提交的许多其他回答没有。 最佳答案 这是我使用的一些代码,支持从Web或非Web应用程序获取应用程序的“主”程序集,然后您可以使用GetName().Version获取版本

c# - 在所有程序集中查找类型

我需要在网站或Windows应用程序的所有程序集中查找特定类型,有没有一种简单的方法可以做到这一点?就像ASP.NETMVC的Controller工厂如何查看Controller的所有程序集。谢谢。 最佳答案 实现这个有两个步骤:AppDomain.CurrentDomain.GetAssemblies()为您提供当前应用程序域中加载的所有程序集。Assembly类提供了一个GetTypes()方法来检索特定程序集中的所有类型。因此您的代码可能如下所示:foreach(AssemblyainAppDomain.CurrentDoma

c# - 在所有程序集中查找类型

我需要在网站或Windows应用程序的所有程序集中查找特定类型,有没有一种简单的方法可以做到这一点?就像ASP.NETMVC的Controller工厂如何查看Controller的所有程序集。谢谢。 最佳答案 实现这个有两个步骤:AppDomain.CurrentDomain.GetAssemblies()为您提供当前应用程序域中加载的所有程序集。Assembly类提供了一个GetTypes()方法来检索特定程序集中的所有类型。因此您的代码可能如下所示:foreach(AssemblyainAppDomain.CurrentDoma

c# - 类型存在于 2 个程序集中

我已经从两个不同的第三方COMDLL创建了两个.NETInterop程序集。这两个COMDLL都包含一个名为COMMONTYPE的类型。因此,COMMONTYPE现在也通过两个Interop程序集公开。我有第三个项目需要使用这两个Interop程序集,但我遇到了臭名昭著的编译时错误:Thetypeexistsinbothand由于COMDLL由第三方供应商提供,我无法访问源代码,我正在编写C#控制台应用程序,这意味着我没有可以在其中添加debug=false的web.config文件解决方法。我能做什么? 最佳答案 我知道这是旧方法

c# - 类型存在于 2 个程序集中

我已经从两个不同的第三方COMDLL创建了两个.NETInterop程序集。这两个COMDLL都包含一个名为COMMONTYPE的类型。因此,COMMONTYPE现在也通过两个Interop程序集公开。我有第三个项目需要使用这两个Interop程序集,但我遇到了臭名昭著的编译时错误:Thetypeexistsinbothand由于COMDLL由第三方供应商提供,我无法访问源代码,我正在编写C#控制台应用程序,这意味着我没有可以在其中添加debug=false的web.config文件解决方法。我能做什么? 最佳答案 我知道这是旧方法

c# - 为什么 DbParameterCollection 中的三个属性在引用程序集中是抽象的,而在其他情况下是虚拟的?

我正在将一个项目从project.json移动到新式csproj格式,它包括一个派生自DbParameterCollection的类.在我的真实项目中,我使用了多目标,但出于这个问题的目的,我们只需要关心net45。编译器告诉我必须重写三个以前不需要的属性:IsFixedSizeIsReadOnlyIsSynchronized如果您点击这些文档链接(适用于.NET4.5),您将看到所有属性都是虚拟的-而不是抽象的。如果我只是通过调用csc来构建代码,一切都很好......只有在使用.NETCoreSDK时我才会遇到问题。下面是重现问题的示例代码:项目文件:net45C#代码:using

c# - 为什么 DbParameterCollection 中的三个属性在引用程序集中是抽象的,而在其他情况下是虚拟的?

我正在将一个项目从project.json移动到新式csproj格式,它包括一个派生自DbParameterCollection的类.在我的真实项目中,我使用了多目标,但出于这个问题的目的,我们只需要关心net45。编译器告诉我必须重写三个以前不需要的属性:IsFixedSizeIsReadOnlyIsSynchronized如果您点击这些文档链接(适用于.NET4.5),您将看到所有属性都是虚拟的-而不是抽象的。如果我只是通过调用csc来构建代码,一切都很好......只有在使用.NETCoreSDK时我才会遇到问题。下面是重现问题的示例代码:项目文件:net45C#代码:using

go - 电子邮件主题、标题在不同字符集中解码,如 ISO-2022-JP、GB-2312 等

我正在从事一个项目,该项目需要处理不同字符集中的电子邮件编码/解码。下面显示了一个python代码:fromemail.headerimportHeader,decode_header,make_headerfromcharsetimporttext_to_utf8class....defdecode_header(self,header):decoded_header=decode_header(header)ifdecoded_header[0][1]isNone:returntext_to_utf8(decoded_header[0][0]).decode("utf-8","re