2015-10-04 73 views
0

我用來創建由Visual Studio 2012 developped我的應用程序的版本然後我刪除.pdb文件和AppName.vshost.exe。所以我得到的結果是AppName.exe + .dll和.exe按照執行的方式運行。我的版本包含AppName.exe.config?

但最近,當我創建了一個版本,我發現:

  • AppName.exe
  • .pdb文件
  • AppName.vshost.exe
  • .dll文件
  • 程序的名字。 exe.config

an d如果我刪除AppName.exe.config,我的應用程序不工作!

我的問題是: 爲什麼AppName.config.exe突然出現?如何在沒有此文件的情況下創建發行版。

+0

你有沒有在它看上去?我猜它包含bindingRedirect或類似的東西,你需要重定向到一個特定的程序集版本。 –

+0

我打開它。你是對的。它包含,它重定向一個特定的程序集。真奇怪。 「我怎樣才能糾正這個?」爲了更好地理解你的猜測,我還有另外一個問題:我在.exe.config中找到許多其他語句,比如userSettings,configSections ...「是.exe.config的顯示僅由bindingRedirect引起,或者另一個statemnt可以導致這個?「 – xtensa1408

+2

這通常是由其他依賴想要不同版本(即依賴關係A想依賴C的版本1.0,而依賴B想要1.1。因爲你不能有不同版本加載Visual Studio(或可能nuget)添加一個重定向舊版本使用新的來代替。如果刪除重定向然後依賴一個會說無法找到正確的版本了。你可以嘗試更新你的依賴,但除非他們已經解決了這個問題(他們可能不有)你剛讓您.exe.config。 –

回答

0

真的,你不應該刪除的配置文件,正如它的名字的文件中包含像.NET Framework版本的一些基本配置等等,可以包含可在文本編輯器來改變你的應用程序的一些有用的信息,並改變你的順便申請一下。 例如,如果您添加屬性>設置的東西會加重這樣的事情到您的配置文件:

<userSettings> 
    <TestWinApp.Properties.Settings> 
     <setting name="myUserSetting1" serializeAs="String"> 
      <value>123</value> 
     </setting> 
    </TestWinApp.Properties.Settings> 
</userSettings> 
<applicationSettings> 
    <TestWinApp.Properties.Settings> 
     <setting name="myAppSetting1" serializeAs="String"> 
      <value>456</value> 
     </setting> 
    </TestWinApp.Properties.Settings> 
</applicationSettings> 
+0

我完全贊成你,但我不明白,爲什麼在我所有的版本我delivred在發行文件夾和應用程序存在的.config好好嘗試一下按預期運行! – xtensa1408

+0

能否請您在文本編輯器打開該文件,並試圖找到您可以在您的應用程序和VS把它在配置文件中的一些新的配置。 – ALIRA

+0

或者你可以在這裏發佈它的內容? ... – ALIRA

相關問題