[英]Nuget: Deploy to IIS or Share Code
這是我第一次使用NuGet,我認為我的問題可能太基本了,無法找到答案。
問題1)
我在VS2012上下載了NuGet軟件包
-Install-Package EntityFramework -Version 6.1.0 -Install-Package Microsoft.AspNet.Web.Optimization
當我創建應用程序代碼的副本,VS2012 C#asp.net網站目錄並嘗試在沒有解決方案的情況下運行它時,出現一個錯誤,好像該網站未找到Nuget軟件包。
如果我需要與同事共享代碼目錄,以便他們可以幫助您進行處理,那么該流程是什么?
到了在生產環境中將代碼目錄部署到IIS的時候了,這樣做的過程是什么? 我可以像以前一樣簡單地將代碼復制到Web服務器上嗎? 是否要采取步驟確保引用了Nuget軟件包?
以下是更多詳細信息:
使用VS 2012,我向解決方案中添加了以下NuGet軟件包:
Install-Package EntityFramework -Version 6.1.0 Install-Package Microsoft.AspNet.Web.Optimization
我的目標版本是.NET Framework 4.0以匹配生產版本。
當我將代碼移到計算機上的其他位置或與同事共享時,將在下面生成錯誤。
Server Error in '/Portalv4' Application.
Compilation Error Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0246: The type or namespace name 'Column' could not be found (are you missing a using directive or an assembly reference?)
`源錯誤:第64行:公共DateTime FailedPasswordAnswerAttemptWindowStart {get; 組; }第65行:第66行:[Column(TypeName =“ ntext”)]第67行:公共字符串Comment {get; 組; }第68行:
好的,這很奇怪-如果我將VS2012切換為在IIS Express下運行項目,它將可以編譯並正常運行。 將其與解決方案文件分離后,為何在Visual Studio Development Server下不起作用的任何想法? 關於在VS Dev Server和IIS express下都無法刷新的許多dll警告。
您的應用程序的編譯能力並不直接取決於您的NuGet軟件包。 packages.config文件只記得NuGet隨什么安裝的文件,因此它可以管理軟件包的更新和卸載。
但是,當您安裝NuGet軟件包時,它將在整個項目中添加文件。 安裝或刪除軟件包后,請確保保存您的Project,以便保存對該軟件包的引用。 如果在保存之前復制項目,則軟件包文件將位於項目目錄中,但在VS Solution Explorer中將看不到它們。
不管這是否是導致您出錯的原因。 您可以通過轉到原始項目來查找錯誤,確定哪個程序集定義了“列”(如錯誤中所述),並確保該程序集位於副本項目的“引用”文件夾中。
祝好運。
如果我需要與同事共享代碼目錄,以便他們可以幫助您進行處理,那么該流程是什么?
開始使用源/版本控制技術,例如Git或Team Foundation Server(TFS) 。 兩者都很好地集成在Visual Studio中。 TFS可供多達五個用戶免費使用。
使用源代碼管理后,請確保在解決方案中選擇“啟用Nuget軟件包還原”(在解決方案資源管理器中右鍵單擊解決方案)。 如果不啟用此選項,則所有Nuget軟件包都將添加到源代碼管理中,而您不希望這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.