2013-03-24 37 views
2

安裝ELMAH NuGet包。現在,當我將我的ASP.NET MVC 4項目發佈到Azure時,它警告我,它希望我的項目能夠直接引用System.Data.SqlServerCe.dll(這樣,顯然被ELMAH引用的DLL就包含在上傳到天青)。我沒有使用SQL Compact Edition進行日誌記錄,所以我假設我並不真的需要這個DLL(事實上,Azure包在沒有它的情況下工作得很好)。ELMAH需要System.Data.SqlServerCe.dll

那麼,我該如何解決這個「缺少DLL」的問題呢?我可以嘗試找到並刪除引用這個DLL的ELMAH部分,但它會在下一次發佈新版本的ELMAH時再回來。由於該DLL顯然不在GAC中,因此我可以添加對System.Data.SqlServerCe.dll副本的引用,該副本隱藏在我的C:\Program Files (X86)文件夾下,但對我來說這很難聞。或者我可以忽略這個警告,但作爲一個原則問題(和公佈的政策),我不會輕易容忍警告。

有什麼建議嗎?

編輯:

丹尼爾·鮑威爾問我後我的NuGet packages.config,它看起來像這樣(我希望 - 這是更深層次的魔法比我挖成)

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="DotNetOpenAuth.AspNet" version="4.2.2.13055" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.Core" version="4.2.2.13055" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OAuth.Consumer" version="4.2.2.13055" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OAuth.Core" version="4.2.2.13055" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OpenId.Core" version="4.2.2.13055" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OpenId.RelyingParty" version="4.2.2.13055" targetFramework="net45" /> 
    <package id="elmah" version="1.2.2" targetFramework="net45" /> 
    <package id="elmah.corelibrary" version="1.2.2" targetFramework="net45" /> 
    <package id="EntityFramework" version="5.0.0" targetFramework="net45" /> 
    <package id="Glimpse" version="1.1.0" targetFramework="net45" /> 
    <package id="Glimpse.AspNet" version="1.1.0" targetFramework="net45" /> 
    <package id="Glimpse.Mvc3" version="1.1.0" targetFramework="net45" /> 
    <package id="jQuery" version="1.9.1" targetFramework="net45" /> 
    <package id="jQuery.UI.Combined" version="1.10.1" targetFramework="net45" /> 
    <package id="jQuery.Validation" version="1.11.0" targetFramework="net45" /> 
    <package id="knockoutjs" version="2.2.1" targetFramework="net45" /> 
    <package id="log4net" version="2.0.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.Razor" version="2.0.20715.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.Web.Optimization" version="1.0.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.WebApi" version="4.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.WebPages.Data" version="2.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.WebPages.OAuth" version="2.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.WebPages.WebData" version="2.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.Data.Edm" version="5.3.0" targetFramework="net45" /> 
    <package id="Microsoft.Data.OData" version="5.3.0" targetFramework="net45" /> 
    <package id="Microsoft.jQuery.Unobtrusive.Ajax" version="2.0.30116.0" targetFramework="net45" /> 
    <package id="Microsoft.jQuery.Unobtrusive.Validation" version="2.0.30116.0" targetFramework="net45" /> 
    <package id="Microsoft.Net.Http" version="2.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" /> 
    <package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.8.0.0" targetFramework="net45" /> 
    <package id="Modernizr" version="2.6.2" targetFramework="net45" /> 
    <package id="Newtonsoft.Json" version="4.5.11" targetFramework="net45" /> 
    <package id="System.Spatial" version="5.3.0" targetFramework="net45" /> 
    <package id="WebGrease" version="1.3.0" targetFramework="net45" /> 
    <package id="WindowsAzure.Storage" version="2.0.5.0" targetFramework="net45" /> 
</packages> 
+0

發佈您的nuget packages.config – 2013-03-24 06:03:09

+0

您用於Elamh的web.config設置是什麼?也許你的記錄器被配置爲使用SQLCe。 – 2013-03-27 12:05:44

+0

@PaigeCook:沒有。字母「sql」僅在我的web.config中顯示兩次,在本地連接字符串中顯示一次,在EF defaultConnectionFactory中顯示一次。但是這並沒有改變原來的問題,即ELMAH顯然與SqlCe鏈接,所以我有義務將它添加到我的項目中,即使我沒有直接使用它。 – 2013-03-27 21:16:17

回答

1

我在這個相同的警告中,我已經在Azure上運行了多個月的服務。如果你確定你沒有使用SQL Server CE,那很好。

這是一個令人討厭的警告,但據我所知沒有壞處。

+1

我不會稱它爲他的問題的答案。你所說的是「忽略這個問題,它是微不足道的」,然而我和其他人遇到了你用sqlce和elmah的實際問題的答案,它甚至沒有啓發性。 – shirbr510 2015-10-14 07:26:02