1

我想在我的MVC 6應用程序中包含Google Analytics API package。我試圖包含所有的依賴或讓它安裝槽NuGet包管理器。無論哪種情況,當我構建解決方案時,出現以下錯誤:Error CS0246 The type or namespace name 'Google' could not be found (are you missing a using directive or an assembly reference?) ProjectName.ASP.NET Core 5.0在ASP.NET Core 5.0中構建Google Analytics包

任何想法我需要包含哪些依賴項以便在ASP.Net Core 5.0中構建?

以下是我在我的project.json文件:

"dependencies": { 
    ... 
    "Microsoft.Net.Http": "2.2.28.0", 
    "Microsoft.Bcl": "1.1.9.0", 
    "Microsoft.Bcl.Build": "1.0.21.0", 
    "Microsoft.Bcl.Async": "1.0.168.0", 
    "Google.Apis.Analytics.v3": "1.9.0.1100" 
}, 
... 
"frameworks": { 
    "aspnet50": { 
     "dependencies": { 
     } 
    }, 
    "aspnetcore50": { 
     "dependencies": { 
      "Newtonsoft.Json": "6.0.8.0" 
     } 
    } 
}, 

回答

1
這裏描述

類似問題的一個:Problems with RavenDB.Client reference in asp.net 5.0 project.json

從那裏適應我的回答:

的問題是,你引用Google.Apis.Analytics.v3位於project.json的頂級依賴關係節點中。這意味着這些依賴關係適用於Desktop CLR(aspnet50)和CoreCLR(aspnetcore50)。

當你建立一個ASPNET 5項目時,所有的配置都是內置的,而不僅僅是「活動」的。大多數情況下肯定Google.Apis.Analytics.v3只適用於桌面CLR,因此請將其移動到該配置下的依賴關係節點下。

"dependencies": { 
    .... 
}, 
"frameworks": { 
    "aspnet50": { 
     "dependencies" : { 
      "Google.Apis.Analytics.v3": "1.9.0.1100" 
     } 
    }, 
    "aspnetcore50": {} 
} 

那麼你可能要麼使用一些有條件的區塊在你的代碼(#if ASPNET50)或刪除CoreCLR一起。 然後,您可能不得不在代碼中使用一些條件塊(#if ASPNET50)或一起刪除CoreCLR。

+0

我終於明白了[Frameworks](https://github.com/aspnet/Home/wiki/Project.json-file#frameworks)部分的文檔。 – aredkid 2015-02-10 05:17:55

+0

謝謝你的幫助,但我想知道是否有依賴可以讓GA在CoreCLR中編譯。 – Alkasai 2015-02-10 16:21:43

+0

這是隻有GA作者才能弄清楚的東西:)它不僅僅是不同的依賴關係,還包括代碼 – 2015-02-10 16:45:41