當前位置: 首頁>>代碼示例>>C#>>正文


C# InstallContext.LogLine方法代碼示例

本文整理匯總了C#中System.Configuration.Install.InstallContext.LogLine方法的典型用法代碼示例。如果您正苦於以下問題:C# InstallContext.LogLine方法的具體用法?C# InstallContext.LogLine怎麽用?C# InstallContext.LogLine使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Configuration.Install.InstallContext的用法示例。


在下文中一共展示了InstallContext.LogLine方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: lock

	// Load an assembly by name and get the information object for it.
	internal static AssemblyInfo LoadInstallerAssembly
				(String filename, InstallContext logContext)
			{
				String fullName;
				AssemblyInfo info;
				AssemblyInfo[] newAssemblies;
				int index;
				lock(typeof(AssemblyInstaller))
				{
					try
					{
						// See if we have a cached information block,
						// from when we loaded the assembly previously.
						fullName = IO.Path.GetFullPath(filename);
						if(assemblies != null)
						{
							for(index = 0; index < assemblies.Length; ++index)
							{
								info = assemblies[index];
								if(info.filename == fullName)
								{
									if(info.loadException == null)
									{
										return info;
									}
									throw info.loadException;
								}
							}
							newAssemblies = new AssemblyInfo
								[assemblies.Length + 1];
							Array.Copy(assemblies, 0, newAssemblies, 0,
									   assemblies.Length);
							info = new AssemblyInfo();
							newAssemblies[assemblies.Length] = info;
							assemblies = newAssemblies;
						}
						else
						{
							info = new AssemblyInfo();
							assemblies = new AssemblyInfo [] {info};
						}

						// Try to load the assembly into memory.
						info.filename = fullName;
						try
						{
							info.assembly = Assembly.LoadFrom(fullName);
						}
						catch(SystemException e)
						{
							info.loadException = e;
							throw;
						}

						// Wrap the assembly in an installer.
						info.installer = new AssemblyInstaller();
						info.installer.assemblyPath = filename;
						info.installer.info = info;

						// Search for all public installer types.
						LoadInstallers(info);

						// The assembly is ready to go.
						return info;
					}
					catch(SystemException e)
					{
						if(logContext != null)
						{
							if(logContext.IsParameterTrue("ShowCallStack"))
							{
								logContext.LogLine
									("LoadAssembly: " + e.ToString());
							}
							else
							{
								logContext.LogLine
									("LoadAssembly: " + e.Message);
							}
						}
						throw new InvalidOperationException
							(String.Format
								(S._("Installer_CouldNotLoadAssembly"),
								 filename), e);
					}
				}
			}
開發者ID:jjenki11,項目名稱:blaze-chem-rendering,代碼行數:88,代碼來源:AssemblyInstaller.cs


注:本文中的System.Configuration.Install.InstallContext.LogLine方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。