Visual Studio 2010中:Properties.Settings retargetting项目的.NET Framework后破3.5
我已经改变了一个项目,目标Visual Studio 2010中:Properties.Settings retargetting项目的.NET Framework后破3.5
- .NET Framework 3.5的
而不是
- .NET Framework 4.
该项目现在崩溃每当我试图访问设置:
Settings.Designer.cs:
return ((global::System.Drawing.Font)(this["DefaultFont"]));
随着全球`:: System.Drawing.Font除外)(本[ “DefaultFont”));
出错创建的applicationSettings/GrobManagementSystem.Properties.Settings配置节处理程序:无法加载文件或程序集系统,版本= 4.0.0.0,文化=中性公钥= b77a5c561934e089'或一种其依赖。该系统找不到指定的文件。 (C:\开发\ Contoso的\ GrobFrobber 强调文本 \ GrobManagementSystem \ GrobManagementSystem \ BIN \调试\ GrobManagementSystem.vshost.exe.config 8号线)
的问题是,MyApp.exe.config包含.NET框架4.0(4.0.0.0
)引用:
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="userSettings"
type="System.Configuration.UserSettingsGroup, System,
Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089">
在每次构建时生成此文件,并基于Settings.settings
的(一个XML文件,并没有提及任何地方4.0.0.0
)内容:
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="GrobManagementSystem.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
还有设置代码隐藏文件(Settings.Designer.cs
),也没有提到任何地方4.0.0.0
:
namespace GrobManagementSystem.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
为什么产生MyApp.exe.config
引用.NET 4.0(即4.0.0.0
),当项目是不是4.0:
和设计师是不是4.0?
而更大的问题:
我如何重新定位一个项目,.NET Framework 3.5的从的.NET Framework 4.0?
Found the answer,删除app.config
。
app.config
是根据settings.settings
自动创建的。尽管Visual Studio需要更新,但它并没有构建它。
注意:清理并重建不会强制Visual Studio来清理和重建它
删除它,迫使Visual Studio的重建,它固定它。
如果您有自己的app.config设置,请不要删除它! (.settings文件的外部,即..) - 然而,链接的答案解释说,当你从4.0恢复时,它不会提取所有的4.0构造,所以3.5怪异。在我的情况中,我只是对之前的工作提交进行了区分,并可以看到它在4.0版本中插入的内容 – KevinDeus