2012-05-25 64 views
2

我試圖爲我的C#項目(使用VS 2010 pro)的每個構建配置設置不同的圖標。一個配置是針對不同的客戶,因此該配置應該使用不同的圖標。爲每個構建配置設置不同的ApplicationIcon

我不知道爲什麼,這不在的csproj文件的工作:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    ...blah... 
    <ApplicationIcon>Images\RegularIcon.ico</ApplicationIcon> 
</PropertyGroup> 
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-Customer|AnyCPU' "> 
    ...blah... 
    <ApplicationIcon>Images\CustomerIcon.ico</ApplicationIcon> 
</PropertyGroup> 

它不工作。不知道我是否在正確的軌道上。

一個令人沮喪的事情......如果我在屬性 - >應用程序選項卡設置在Visual Studio中的圖標用,它在的csproj文件創建這樣的:

<PropertyGroup> 
    <ApplicationIcon>Images\foo.ico</ApplicationIcon> 
</PropertyGroup> 

爲什麼在這個匿名指定的圖標PropertyGroup被服從,但我的條件PropertyGroup中的一個會被忽略?

我感謝任何幫助,這一個。

回答

3

它實際上可能是確實工作。這只是你不容易看到的東西。 Windows資源管理器有這種非常尷尬的習慣,即將圖標存儲在圖標緩存中。所以如果你用一個圖標運行一個.exe文件,那麼它會將圖標存儲在緩存中。以後需要時再快速提供。從.exe文件中挖出圖標的優化很慢。

重置緩存是可能的,但很尷尬,最好在superuser.com上詢問一個好的程序。或者只是用Visual Studio進行檢查。文件+打開+文件,選擇.exe,打開圖標節點並雙擊該條目。

+0

Argh,Windows。謝謝,你完全正確。 –

相關問題