MVC中的NuGet包管理.docx_第1页
MVC中的NuGet包管理.docx_第2页
MVC中的NuGet包管理.docx_第3页
MVC中的NuGet包管理.docx_第4页
MVC中的NuGet包管理.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MVC迁移遇到问题总结首先文件夹的创建方面,根据所开发的网页不同建立不同的文件夹放置相关文件,经常使用到的或者常更新到的文件建议单独建立文件夹,放在解决方案中,很多时候就是这些文件没能及时更新造成各种的错误.比如config配置文件,因为与接口组联合开发有些方法需要更新config所以不如就把它放在文件夹里 方便查看,还有很多,下面是我自己的文件夹:建立好文件夹之后就要添加项目了,具体添加大致说一下,首先在VSS中获取最新版本的项目文件,一定要注意文件路径工作目录一定要与VSS地址相同不然绑定源码可就悲剧了,这里以PTrade为例:新建解决方案,获取项目并添加完成后当重新生成的时候会出现因为其中有两个关于NuGet的文件获取不到需要自己从新建立:解决方案右键选择NuGet包点击更新他会创建一个解决方案的文件夹,文件夹下有个.nuget的文件夹把它拿出来放在根目录下查看报错的项目右键管理NuGet程序包,点击更新,选择用VSS版本覆盖本地版本,之后项目会被签出,注意要撤销签出!之后再生成就好了.如果再出现如图:说明缺少相关的DLL文件,找相关负责人要就行了如图中有两个配置文件App.config和packages.config.App这个配置文件主要是配置App连接相关方法的,感觉就像连接配置连接数据库的字符串,配置整个App的连接环境.先了解一下NuGet,读new-get;简单的说NuGet可以是我们的工作更方便,当我们的项目里要引用到的一些库时候,比如JQuery、Newtonsoft.Json、log4net等,我们需要从网上下载这些库,然后依次拷贝到各个项目中,当有的类库有更新时又不得不再重复一遍很是繁琐 ,这时就可以考虑使用NuGet来帮我们管理和更新这些类库,而且更新类库时会自动添加类库的相关引用,方便至极。当然网上一些我们常用的类库更新频率不是很高而且即便出了新版本我们也没必要总是保持最新,故这点对我们的帮助比较有限,个人认为NuGet最大的好处在于可以搭建自己的类库服务器,想想一下吧,在一些较大些的公司里面有很多的项目,然后其中有一些是整个组,甚至整个公司通用的类库,当这些类库有更新后我们需要依次拷贝到我们的项目,甚至于有时候我们自己都搞不清楚各个项目里的版本是否一致,有时偶尔一两个项目忘了复制更新出现莫名其妙的错误,为此头疼不已,现在有了NuGet,世界从此而不同。而这个packages.config是NuGet程序管理包的配置文件简单来说就是程序中用到的引用之类的都会被记录在这里,方便管理.当你更新或者下载最新版本的程序的时候这些packages.config就会根据你下载的程序所需要的相关引用打包一同给你下载,原理: NuGet命令只提供根据packages.config下载包包的功能repositories.config分散在各个子项目文件夹中,而repositories.config存储的就是packages.config文件的位置;项目中打开NuGet:这种方法打开之后是针对整个解决方案的 所以所有最新的程序包都会显示出来,最好还是选择自己需要的更新,项目程序更新选择要更新的项目右键-管理NuGet程序包点击之后显示当前项目需要更新的程序.这个问题出现的几率不是很大,因为更新项目的时候一般都会完全更新,除非误删了某些底层的程序包,但是谁没事找这些东西去呢,主要问题可能是出现在自己的Bin目录中,细心观察就能发现比如出现这两种情况:图上这两种并不是有错误,只是举例子,第一个圈这种情况一般是引用出现问题,可能在你更新的时候有人占用,第二种情况就是没有权限需要自己添加,或者这个已经在VSS上被删除了如图中更新Bin目录之后只是获取了VSS上Bin目录的最新版本真正的实体文件再Lib下,当别人给你DLL文件的时候需要更新的时候注意我问清楚放在哪个Lib下下面以PTrade为例子:PTrade更新DLL文件这两个文件夹都有可能,而且更新之后一定要记得重新生成尤其是重新生成之后,再生成一下网站,这样最新的DLL文件才会被执行如果发现网站报找不到引用xxxx的话多半是Bin目录或者是DLL文件的错误,别人给你了DLL文件还是不行,可能就是Bin目录下没有文件地址,这里介绍一个土鳖却很实用的方法至少可以解决燃眉之急下面以Hy.PTrade.Web.UI.Fetch.dll文件为例,建立一个Hy.PTrade.Web.UI.Charge.dll文件的refresh文件:查看refresh文件其实里面只有一段引用右键复制到别处,把同样位置的Charge文件地址替换这个地址之后放到Hy.PTrade.Web.UI.Charge.dll下面替换原来的refresh文件之后生成完成就好了.还有一些小要点需要多注意,MVC中跳转不能像H5中那样直接写地址而是使用Url.Action(页面名称,所在文件夹),这种方式来跳转使用而获取数据也有两种常用到的方法:一种是getJSON:可以像H5中那样使用,要注意所传参数必须与方法需要参数一致类型也要一致不然会报错如果没有需要的参数,callback这个参数要传,而不是空着不传,那样肯定会报错而且不容易发现错误在哪里.还有一种是:hm.form.submit因为JS无法创建对象作为传递参数,所以如果后端方法需要对象只能用这种方法遍历FORM中的每一项 序列化成对象,注意:表单的name值必须与对象中的参数名一致不然序列化出来的对象后端方法不认识!还有提交地址一定要确定如图:提交地址,传值方式需要提前定义好,也可以getJSON,但是传递参数的时候需要$(#xx).serialize()提前序列化成对象再进行传递NuGet相关管理/dudu/archive/2011/07/15/n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论