再回來看看 Visual Studio幫你產生的使用者驗證管理, 就是我們新增專案時, 有個『變更驗證』選項,其下有四種選項,它會自動產生很多Code, 這裡研究清楚以便日後使用.

開始

首先,新增專案時,這是屬於 ASP.Net Core Web應用程式


確定後,第二個畫面有『變更驗證』按鈕

 
 
 
出現選單有四種選項,
一種是 Windows 驗證:如果你是用自己的區域網路執行應用程式

可以使用Windows驗證。會以本機或自身網域的帳戶進行驗證。

 
 
一種是工作或學校帳戶

透過 Active Directory、Windows Azure Active Directory或 Office 365驗證使用者的應用程式

 

 

一種就是,今天要研究的個別使育者帳戶驗證

使用者可以跟你的應用程式登錄帳戶,使用的方法有:
在網站上建立使用者名稱和密碼或透過Facebook、Google、Microsoft Account、Twitter等社交網站的帳戶登入。

 
 
專案自動產生了很多目錄和程式碼,
如下圖,注意喔...其實子目錄下面還有很多程式.

無驗證的專案, 只產生了 Home這個控制器,和相關的檢視.(連Model都沒有!)

有勾選個別使用者帳戶驗證的專案, 產生的檔案很多:
  • Controller: Home, Account, Manage
  • Data: 一個資料庫連接, 與相關變更紀錄(Migration目錄)
  • Model: ApplicationUser
  • View Model : Account, Manage (其實裡面好多!!)
  • Service: Message, Email, SMS
  • View: Share, Home, Account, Manage,
 
方法二
在MSBuild設定
專案檔設定AfterBuild事件
<Target Name="CopyRoslynFiles" AfterTargets="AfterBuild" Condition="!$(Disable_CopyWebApplication) And '$(OutDir)' != '$(OutputPath)'">
    <ItemGroup>
      <RoslynFiles Include="$(CscToolPath)\*" />
    </ItemGroup>
    <MakeDir Directories="$(WebProjectOutputDir)\bin\roslyn" />
    <Copy SourceFiles="@(RoslynFiles)" DestinationFolder="$(WebProjectOutputDir)\bin\roslyn" SkipUnchangedFiles="true" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
</Target>


重建
在專案建置>按下重新建置,即可解決此問題

=============================================================

方法二的修改參考

 

修改 .csproj 

因為修改了 NuGet 套件的存放位置雖然 NuGet restore 會重新下載相關套件,但因 .csproj 已經紀錄了套件位置會導致專案 Reference 都跑掉,所以需要重新指定 dll 位置

  • Reference 遺失

    1referencemiss

  • 卸載專案

    專案上按右鍵 –> Unload Project

    2unloadproject

  • 編輯 .csproj 檔

    已卸載專案上按右鍵 –> Edit .csproj

    3editcsproj

  • 修改 Reference 的參考路徑

    將 Reference 的 HintPath 改至正確位置

    4hintpath

  • 重新載入專案

    已卸載專案上按右鍵 –> Reload .csproj

    5reloadproj

  • Reference 正常

    6referenceok

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 王瘇子 的頭像
    王瘇子

    王瘇子C# 學習倉庫

    王瘇子 發表在 痞客邦 留言(0) 人氣()