2014-06-25 1 views
0

VSTOAddin.dll.config 파일이 VSTO에서 작동하는 방식을 더 잘 이해하고 싶습니다.런타임에 VSTOAddin.dll.config의 변경 내용이 인식되지 않습니다.

메모장을 사용하여 구성 파일을 편집 할 수없고 다음 번에 추가 기능이 실행될 때 (다음 문서와 비슷한) 이러한 변경 사항이 반영되지 않는 이유를 모르겠습니다.

내 사용자 설정 파일을 성공적으로 찾고 수동으로 편집했습니다. 그러나 응용 프로그램 설정 구성 파일에 대해 동일한 작업을 수행 할 수 없습니다. 왜?

코드를 통해 또는 VS에서 디자인 타임에 변경해야한다는 것을 알고 있습니다.

Help?!?

--EDIT--

감사 PetLahev

http://social.msdn.microsoft.com/Forums/vstudio/en-US/d8104247-3609-42f7-8e06-71860f3f81e2/changes-to-outlookaddindllconfig-not-recognized-at-runtime-how-to-make-responsive-like?forum=vsto

, 나는 실제로 조금 다른 일을하고 있어요. 모든 공통 어셈블리를 참조하는 세 개의 VSTO 추가 기능이 있습니다. 설정은 공통 어셈블리와 연관됩니다.

허용 되나요? 어셈블리가 실제로 % appdata % \ local \ assembly에서 실행 중임을 확인합니다.

하지만 ClassLibrary1.dll.config 파일을 % appdata % \ local \ assembly로 이동해도 변경할 수 없습니다. 메모장을 통해 내 애플 리케이션에 반영 수정을 참조하십시오. 당신이 사용하는 응용 프로그램

+0

의 세 번째 부분에 설명 된대로 사용자 정의 섹션을 사용하여 끝났다. 매번이 값을 사용합니까? 그렇다면 어셈블리 외부에 .config 파일을 저장해야하는 이유는 무엇입니까? 내 코드를 단계별로 실행하고 Settings.Default.Reload(), Settings.Default.Reset(), Settings.Default.Upgrade() 등을 호출했지만 아무런 차이가 없었습니다. 무엇을 제공합니까? –

답변

0

확실하지, 나는 Excel을 시도하고 그

같은 간단한이다 userSettings 및 applicationSettings를 읽고
<?xml version="1.0"?> 
<configuration> 
    <configSections> 
     <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <section name="ConfigSettingTest.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/> 
     </sectionGroup> 
     <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <section name="ConfigSettingTest.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> 
     </sectionGroup> 
    </configSections> 
    <userSettings> 
     <ConfigSettingTest.Properties.Settings> 
      <setting name="MyUserSettings" serializeAs="String"> 
       <value>My user settings</value> 
      </setting> 
     </ConfigSettingTest.Properties.Settings> 
    </userSettings> 
    <applicationSettings> 
     <ConfigSettingTest.Properties.Settings> 
      <setting name="MyAppSettings" serializeAs="String"> 
       <value>My Application settings</value> 
      </setting> 
     </ConfigSettingTest.Properties.Settings> 
    </applicationSettings> 
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> 

코드

같은

내의 app.config 보이는 꽤 간단합니다

public static void test() 
     { 
      System.Windows.Forms.MessageBox.Show(Properties.Settings.Default.MyUserSettings); 
      System.Windows.Forms.MessageBox.Show(Properties.Settings.Default.MyAppSettings); 
     } 

bin 폴더로 이동하여 메모장을 통해 값을 변경 한 다음 Excel을 실행하면 변경된 값이 표시됩니다.

+0

감사합니다. PetLahev. 그건 나에게도 효과가있다. 사실 3 개의 Office Add-in은 모두 공통 DLL을 참조합니다. 그리고 일반적인 DLL에는 설정이 있습니다. 그것이 문제인지 아닌지 확인하기 위해 몇 가지 테스트를 해보겠습니다. –

+0

PetLahev, app.config가 참조 된 어셈블리의 경우 작동하지 않는 이유는 무엇입니까? –

관련 문제