ClickOnce和C#应用程序的配置

我应该将什么以及如何放入app.config文件中。

方案是这样,我创建了一个C#Windows窗体应用程序( .NET 4.0),它在开发计算机上运行良好。 当我在其他计算机上使用ClickOnce部署它时,我得到了machine.config文件的权限错误。 这是一个公司域,因此我无权更改目标计算机上machine.config文件中的权限。 根据我一直在阅读的内容,我相信在machine.config文件中访问的内容可以替代地放入app.config文件中。 问题是我确实理解了需要放入app.config文件的内容,而我不了解配置的某些方面,例如’keys’等。

我怎样才能完全避免使用machine.config文件,以及究竟需要配置什么呢?

完整错误详情:

平台版本信息

 Windows : 5.1.2600.196608 (Win32NT) Common Language Runtime : 4.0.30319.296 System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100) clr.dll : 4.0.30319.296 (RTMGDR.030319-2900) dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100) dfshim.dll : 4.0.31106.0 (Main.031106-0000) SOURCES Deployment URL: file:///P:/Eastops/Region%20C/Conie/HHC/HHC.application ERROR SUMMARY Below is a summary of the errors, details of these errors are listed later in the log. * Activation of P:\Eastops\Region C\Conie\HHC\HHC.application resulted in an exception. The following failure messages were detected: + Configuration system failed to initialize + An error occurred loading a configuration file: Access to the path 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\machine.config' is denied. (C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\machine.config) + Access to the path 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\machine.config' is denied. COMPONENT STORE TRANSACTION FAILURE SUMMARY No transaction error was detected. WARNINGS There were no warnings during this operation. OPERATION PROGRESS STATUS * [4/17/2013 8:29:25 AM] : Activation of P:\Eastops\Region C\Conie\HHC\HHC.application has started. ERROR DETAILS Following errors were detected during this operation. * [4/17/2013 8:29:27 AM] System.Configuration.ConfigurationErrorsException - Configuration system failed to initialize - Source: System.Configuration - Stack trace: at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey) at System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(String sectionName) at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName) at System.Configuration.ConfigurationManager.GetSection(String sectionName) at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName) at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection() at System.Diagnostics.DiagnosticsConfiguration.Initialize() at System.Diagnostics.DiagnosticsConfiguration.get_Sources() at System.Diagnostics.TraceSource.Initialize() at System.Net.Logging.InitializeLogging() at System.Net.Logging.get_On() at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase) at System.Net.WebRequest.Create(Uri requestUri) at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next) at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles() at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState) at System.Deployment.Application.DownloadManager.DownloadManifestAsRawFile(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation) at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation) at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options) at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl) at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state) --- Inner Exception --- System.Configuration.ConfigurationErrorsException - An error occurred loading a configuration file: Access to the path 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\machine.config' is denied. (C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\machine.config) - Source: System.Configuration - Stack trace: at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal) at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors) at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors() at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey) --- Inner Exception --- System.UnauthorizedAccessException - Access to the path 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\machine.config' is denied. - Source: mscorlib - Stack trace: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at System.Configuration.Internal.InternalConfigHost.StaticOpenStreamForRead(String streamName) at System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.IInternalConfigHost.OpenStreamForRead(String streamName, Boolean assertPermissions) at System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.IInternalConfigHost.OpenStreamForRead(String streamName) at System.Configuration.ClientConfigurationHost.OpenStreamForRead(String streamName) at System.Configuration.BaseConfigurationRecord.InitConfigFromFile() COMPONENT STORE TRANSACTION DETAILS No transaction information is available.