簡體   English   中英

Nuget:部署到IIS或共享代碼

[英]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中將看不到它們。

不管這是否是導致您出錯的原因。 您可以通過轉到原始項目來查找錯誤,確定哪個程序集定義了“列”(如錯誤中所述),並確保該程序集位於副本項目的“引用”文件夾中。

祝好運。

如果我需要與同事共享代碼目錄,以便他們可以幫助您進行處理,那么該流程是什么?

開始使用源/版本控制技術,例如GitTeam Foundation Server(TFS) 兩者都很好地集成在Visual Studio中。 TFS可供多達五個用戶免費使用。

使用源代碼管理后,請確保在解決方案中選擇“啟用Nuget軟件包還原”(在解決方案資源管理器中右鍵單擊解決方案)。 如果不啟用此選項,則所有Nuget軟件包都將添加到源代碼管理中,而您不希望這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM