Castle.DynamicProxy.ModuleScope.CreateModule C# (CSharp) Method

CreateModule() private method

private CreateModule ( bool signStrongName ) : ModuleBuilder
signStrongName bool
return System.Reflection.Emit.ModuleBuilder
		private ModuleBuilder CreateModule(bool signStrongName)
		{
			var assemblyName = GetAssemblyName(signStrongName);
			var moduleName = signStrongName ? StrongNamedModuleName : WeakNamedModuleName;
#if !SILVERLIGHT
			if (savePhysicalAssembly)
			{
				AssemblyBuilder assemblyBuilder;
				try
				{
					assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(
						assemblyName, AssemblyBuilderAccess.RunAndSave, signStrongName ? StrongNamedModuleDirectory : WeakNamedModuleDirectory);
				}
				catch (ArgumentException e)
				{
					if (signStrongName == false && e.StackTrace.Contains("ComputePublicKey") == false)
					{
						// I have no idea what that could be
						throw;
					}
					var message =
						string.Format(
							"There was an error creating dynamic assembly for your proxies - you don't have permissions required to sign the assembly. To workaround it you can enforce generating non-signed assembly only when creating {0}. ALternatively ensure that your account has all the required permissions.",
							GetType());
					throw new ArgumentException(message, e);
				}
				var module = assemblyBuilder.DefineDynamicModule(moduleName, moduleName, false);
				return module;
			}
			else
#endif
			{
				var assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(
					assemblyName,
					AssemblyBuilderAccess.Run);

				var module = assemblyBuilder.DefineDynamicModule(moduleName, false);
				return module;
			}
		}