繁体   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