帮助强命名ASP.NET 2.0 Web应用程序程序集 [英] Help Strong Naming an ASP.NET 2.0 Web Application assembly
问题描述
我继承了一个使用.net 2开发的网站-我正在编写一个应用程序运行状况页,以显示该网站dll的程序集版本.我修改了AssemblyInfo.cs并添加了以下内容: [程序集:
AssemblyTitle ( 组装说明 " )]] 公开 类 ApplicationHealth {
如果 [assembly:AssemblyConfiguration( " DEBUG")]]
#else
[程序集: ( " RELEASE" )]
# endif
[程序集: AssemblyCompany 我的公司" )]
[组装y: AssemblyProduct ( AssemblyCopyright ( AssemblyVersion )]]
[程序集: ( ""1.0.4.5" [汇编: AssemblyKeyFile @" D:\ PathTo \ My.snk" )]
但是我在运行代码时:
受保护的 Page_Load( 对象 发送者, e)
{
组装 .CurrentDomain.GetAssemblies();
StringBuilder sb = 新 StringBuilder ();
foreach ( a in 程序集)
{
ExcludedNames =( "SystemMicrosoft.JScriptVJSharpCodeProviderCppCodeProviderWebDev.WebHostmscorlib" );
((a.GetName().Name.ToString() .IndexOf( 系统" )< 0)&& (a.GetName().Name.ToString().IndexOf( 尝试
{
sb.Append( < li>"" [] infoversion =( AssemblyInformationalVersionAttribute 类型 ( ), false 如果 (infoversion.Length == 1)
{
sb.Append( < li>" + infoversion [0] .InformationalVersion.ToString());
}
sb.Append( " + a.GetName().Name.ToString());
}
捕获
{}
}
}
Response.Write(sb.ToString());
}
}
我收到错误编译器错误消息: CS1577:程序集生成失败-引用程序集'解决方案
>首页 ›
ASP.NET论坛
I've inherited a web site developed using .net 2 - I'm writing an application health page to display the assembly version of the web site dll. I amended the AssemblyInfo.cs and added the following:
[assembly:
AssemblyTitle("My App")]
[assembly: AssemblyDescription("")]
if DEBUG
[assembly: AssemblyConfiguration("DEBUG")]
#else
[assembly: AssemblyConfiguration("RELEASE")]
#endif
[assembly: AssemblyCompany("My Company")]
[assembly: AssemblyProduct("My Product")]
[assembly: AssemblyCopyright("(C) 2009")]
[assembly: AssemblyVersion("1.0.4.5")]
[assembly: AssemblyFileVersion("1.0.4.5")]
[assembly: AssemblyKeyFile(@"D:\PathTo\My.snk")]
however when I run the code:
public
partial class ApplicationHealth : MyNameSpace.PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
StringBuilder sb = new StringBuilder();
foreach (Assembly a in assemblies)
{
//Ignore the Framework Assembly's
string ExcludedNames = ("SystemMicrosoft.JScriptVJSharpCodeProviderCppCodeProviderWebDev.WebHostmscorlib");
if ((a.GetName().Name.ToString().IndexOf("System") < 0) && (a.GetName().Name.ToString().IndexOf("Microsoft") < 0) && (ExcludedNames.IndexOf(a.GetName().Name.ToString()) < 0) && (a.GetName().Version.ToString() != "0.0.0.0"))
{
try
{
sb.Append( "<li>" + a.GetName().Version.ToString());
AssemblyInformationalVersionAttribute[] infoversion = (AssemblyInformationalVersionAttribute[])a.GetCustomAttributes(typeof(AssemblyInformationalVersionAttribute), false);
if (infoversion.Length == 1)
{
sb.Append( "<li>" + infoversion[0].InformationalVersion.ToString());
}
sb.Append( " " + a.GetName().Name.ToString() );
}
catch
{}
}
}
Response.Write(sb.ToString());
}
}
I received the error Compiler Error Message: CS1577: Assembly generation failed -- Referenced assembly 'MyNameSpace' does not have a strong name.
I think - unless there is a far better way of getting the Assembly Version Information (highly likely!) - I need to know how to Strong Name the MyNameSpace.dll.
Any help very much appreciated.
解决方案Hi,
Thank you for your post! I would suggest posting your question in one of the Home ›
查看全文