2017-07-28 92 views
1

試圖運行任何應用程序安慰SolaceSystems.Solclient.Messaging,版本= 10.0.0.0,異常

型「System.BadImageFormatException」未處理的異常時,遇到了這樣的異常出現在未知模塊。

其他信息:無法加載文件或程序集「SolaceSystems.Solclient.Messaging,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = e191a36e57c23464」或其某個依賴項。試圖加載格式不正確的程序。

如果有這種異常的處理程序,程序可能會安全地繼續。

還建設 警告1日之前獲得的警告有該項目正在建設「MSIL」的處理器架構和參考「SolaceSystems.Solclient.Messaging的處理器架構之間的不匹配,版本= 10.0.0.0,文化=中性,processorArchitecture = AMD64「,」AMD64「。這種不匹配可能會導致運行時失敗。請考慮通過Configuration Manager更改項目的目標處理器體系結構,以便在項目和引用之間調整處理器體系結構,或者使用與項目的目標處理器體系結構相匹配的處理器體系結構來依賴引用。

這兩個有關係嗎?

+0

的[System.BadImageFormatException試圖加載程序使用不正確的格式]可能的複製(HTTPS:/ /stackoverflow.com/questions/4340362/system-badimageformatexception-an-attempt-was-made-to-load-a-program-with-an-inc) –

+1

您正在將項目構建爲「AnyCPU」目標架構,而「 SolaceSystems.Solclient.Messaging'構建爲AMD64。要麼改變你的項目的架構,要麼獲得該庫的不同版本,與項目的目標架構兼容。 –

+0

@PavelPájaHalbich,不,這是SolaceSystems.Solclient.Messaging的nuget包的問題。 。網絡框架引發同樣的錯誤,但是你必須採取不同的步驟來解決它 –

回答

0

您的平臺不匹配。您可能會在x86平臺上使用x64庫,反之亦然。

請注意,只要在運行時安裝正確的消息傳遞程序集(和相應的本機庫),就可以安全地忽略有關處理器體系結構不匹配的警告。此警告是Visual Studio提醒您正確設置運行時環境的。

0

請檢查您的csproj是否已正確配置以使用運行時相關的庫。

你需要做的:

  • 馬克您正確地運行系統項目
  • 排除從SolaceSystems.Solclient.Messaging包

請使用以下示例過時的目標:

<PropertyGroup> 
    <!-- Mark you application as x86 for debugger --> 
    <PlatformTarget>x86</PlatformTarget> 

    <!-- Ask MSVS to use win-x86 runtime for debug/run. Check runtimes folder in the nupkg archive to see full list --> 
    <RuntimeIdentifier>win-x86</RuntimeIdentifier> 
    <!-- Mark you library, that it supports this runtime --> 
    <RuntimeIdentifiers>win-x86</RuntimeIdentifiers> 

</PropertyGroup> 


<ItemGroup> 
    <!-- Use new csproj format and package references, to simplify transitive dependencies --> 
    <PackageReference Include="SolaceSystems.Solclient.Messaging" Version="10.1.1" > 

    <!-- Exclude obsolete solace targets --> 
    <ExcludeAssets>build</ExcludeAssets> 
    </PackageReference> 
</ItemGroup> 

請參閱與其他庫相同的問題:

相關問題