2011-11-15 149 views
3

我已經改變了一個項目,目標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:

enter image description here

和設計師是不是4.0?

而更大的問題:

我如何重新定位一個項目,.NET Framework 3.5的的.NET Framework 4.0

回答

3

Found the answer,刪除app.config

app.config是根據settings.settings自動創建的。儘管Visual Studio需要更新,但它並沒有構建它。

注意:清理並重建不會強制Visual Studio來清理和重建它

刪除它,迫使Visual Studio的重建,它固定它。

+0

如果您有自己的app.config設置,請不要刪除它! (.settings文件的外部,即..) - 然而,鏈接的答案解釋說,當你從4.0恢復時,它不會提取所有的4.0構造,所以3.5怪異。在我的情況中,我只是對之前的工作提交進行了區分,並可以看到它在4.0版本中插入的內容 – KevinDeus

相關問題