标签: 除错

解决Asp.Net网站发布时总出现找不到类或方法错误的问题

出现这种问题通常都是在Git合并代码到当前解决方案后出现的,这种情况下Visual Studio里本机调试没有任何问题,但是发布就是不行。 其根本原因在于Web项目引用的的其它项目发生了改变,却没有在发布时重新编译。 解决此问题的方法就是把编译方式改为Release,然后清理解决方案,再重新编译,再进行发布就行了。 因为网站发布时都是采用Release方案的,继而会直接使用Release方案已生成的dll文件,所以有时候就会把旧的dll直接拿去发布,这样就会找不到新增的一些类或方法等引用。 为了准确判断是否正确发布,请检查每个项目对应的dll程序集版本是否皆为最新,以确保部署不会出现问题。 分享或转载本博客站点内的所有原创内容时,都必须遵循此协议: 姓名标示-非商业性-相同方式分享 4.0 国际 (CC BY-NC-SA 4.0) 同时必须附加指向本文页面或本博客首页的超链接。 除此之外的转载、分享方式都必须征得本博客作者的授权,否则将会诉诸法律。

更多

实现UWP应用多语言功能的正确方式

今天尝试将SkyD Regex升级为多语言,文本量很少,感觉没多少工作量,结果折腾一晚上才算搞定,又是他妈微软的各种坑,真尼玛恶心死我了。 先说Multilingual App Toolkit 4.0,其用法是:安装后,先设置项目为启用状态,创建一个主语言(Package.appxmanifest中指定),然后再创建好其它语言目录和资源文件,然后通过Multilingual App Toolkit的工具对主语言翻译,保存并重新编译程序,然后它就会自动填充你的目标语言的资源文件了。 然而我用时根本不管事,我按下图方式创建了资源: 以简体中文为主语言,用Multilingual App Toolkit的工具翻译好其他两个语言,保存,重新编译,再看别的语言资源文件根本没变化,我删了它们的资源文件也没用,看输出信息提示找不到一串文件,我把提示的路径复制到资源管理器地址栏里,尝试都能正常打开,可以肯定不是缺文件造成的,所有路径也都是英文,不会有字符问题。 于是我就卸载了这微软的傻逼官方Toolkit,手动翻译好了另两种语言,然后在App.xaml.cs里分别手动指定语言为英文和繁体中文进行测试:...

更多

使用 Visual Studio 2015 编译打包UWP程序总是失败的解决办法

今天遭遇了非常恶心的 Visual Studio 2015 的BUG,好好的UWP程序,能编译能运行,昨天也还打包过,今天就死活打包不能了,各种错误,什么找不到类型、什么文件被占用、什么无法访问路径,一看就是IDE自己的问题,折腾近一小时才编译成功,实现的要点如下: 用管理员方式运行 Visual Studio 2015 先清理一遍解决方案 以Release方式分别生成所有需要发行的平台版本(x86、x64、ARM),如果直接生成报缺少类型错误,那就选择“重新生成”指令来生成。 全部编译好之后不要做别的任何操作,去执行Windows应用商店程序打包 按上述方法应该就能正确编译了。 解决方法说完了,下面谁也别拦着我,我今天必须骂死微软里的这帮傻逼,自从印度阿三上台以来,微软的软件质量全都成了渣,我基本每天都在跟 Windows 和 Visual Studio 的BUG作斗争,UWP是时下的微软战略核心之一,就这还能做成这个B样,谁他妈还给你们开发应用,作为软件业的领头巨人,品控做成他妈这样真尼玛没治了,弄得我都有多次要改行的冲动了,真心希望印度狗赶紧滚出微软。 分享或转载本博客站点内的所...

更多

ASP.Net Web Api 提示不支持“Get”方法的解决办法

使用Chrome访问Web Api时提示: The requested resource does not support http method ‘GET’. 这种情况通常都是因为你的Api Action方法名不是以“Get”作为起始,Web Api的规则很死,即使你像这样改变了路由规则: 然后准确访问到Action,也是不行的。 所以就只能把你的Action方法名改为“GetXXXXXX”才可以。 分享或转载本博客站点内的所有原创内容时,都必须遵循此协议: 姓名标示-非商业性-相同方式分享 4.0 国际 (CC BY-NC-SA 4.0) 同时必须附加指向本文页面或本博客首页的超链接。 除此之外的转载、分享方式都必须征得本博客作者的授权,否则将会诉诸法律。

更多

使用JSON.NET反序列化抽象类或接口成员的方法

反序列化带有抽象或接口成员的类型时会遇到如下错误提示: Newtonsoft.Json.JsonSerializationException: Could not create an instance of type ITestInterface. Type is an interface or abstract class and cannot be instantiated. 问题和解决办法可以参考:http://stackoverflow.com/questions/15880574/json-net-how-to-deserialize-collection-of-interface-instances 这里总结一下,主要就是自己实现一个继承自SerializationBinder的类,来自己控制命名空间和程序集名称。 例如我们有一个文章类Article,里面有个成员是List<Paragraph>类型来表示段落列表,Paragraph是一个抽象类,其下面有若干个子类,表示诸如文本段落、列表段落、Markdown文本段落、引用段落等等,上述这些类都隶属于一个相同的程...

更多

解决MVC项目在IIS中不显示FontAwesome等字体图标的问题

本地测试无误,发布到服务器后字体图标就全不能显示了,IE里显示空,Chrome里显示长方形: 网站里MIME类型列表里是有.woff类型的: 不过不是“application/x-font-woff”,尝试在Web.config文件里覆盖之: <system.webServer> <staticContent> <remove fileExtension=”.woff” /> <!– In case IIS already has this mime type –> <mimeMap fileExtension=”.woff” mimeType=”application/x-font-woff” /> </staticContent> </system.webServer> 结果是无效的。 后来看到老外说貌似是MVC的BundleConfig问题: 尝试放弃使用Bundle方式引用FontAwesome的CSS,转而采用传统方式载入CSS: @*@Styles.Render(“~/Content/f...

更多

JQueryMobile使用Ajax跳转后Popup组件失效问题溯源

今天遇到了同样问题,通过此文思路成功解决。 多个页面间也必须要保证ID唯一性,这真是有点麻烦,看来最好就是直接用Guid.NewGuid()为ID赋值了。 分享或转载本博客站点内的所有原创内容时,都必须遵循此协议: 姓名标示-非商业性-相同方式分享 4.0 国际 (CC BY-NC-SA 4.0) 同时必须附加指向本文页面或本博客首页的超链接。 除此之外的转载、分享方式都必须征得本博客作者的授权,否则将会诉诸法律。

更多

WF继承AsyncCodeActivity时遭遇InvalidOperationException的解决方法

未处理System.InvalidOperationException  HResult=-2146233079  Message=AsyncCodeActivity.BeginExecute 必须返回 IAsyncResult,且其 IAsyncResult.AsyncState 必须为运行时提供的状态对象。  Source=System.Activities  StackTrace:       在 System.Activities.WorkflowApplication.Invoke(Activity activity, IDictionary`2 inputs, WorkflowInstanceExtensionManager extensions, TimeSpan timeout)       在 System.Activities.WorkflowInvoker.Invoke(Activity workflow,...

更多

Visual Studio 2013 灵异的窗体设计器显示BUG

首先贴出我的Visual Studio版本: 在上文通过NuGet控制台在解决方案中的一个WinForm项目中安装了两个程序包之后,编写了一些代码,然后发现窗体设计器不能用了,提示: 文件中的类都不能进行设计,因此未能为该文件显示设计器 非常操蛋的是此时编译和运行都正常,而新建Form也是同样情况,无法设计,无论怎么清理、编译、重新编译、重新打开解决方案、重新打开程序、清理内存都无解,真塌妈神了。 要说还有什么蹊跷之处,那就是部分代码中的智能感知和代码提示、代码着色失效了,但我搞不明白为什么这是局部失效,事实上差不多只有一个方法内的一部分类型的代码失效了。 网上搜罗了一下各种类似错误的解决方法,都不适用。 这种操蛋情况完全无法用常理解释了,我尝试反向操作: 注释掉新增的代码并重新编译——没用 卸载掉一个NuGet程序包并重新编译——没用 再卸载掉另一个NuGet程序包并重新编译——好了! 设计器复活了! 卧槽,这是dll的事!?不得而知 接着再尝试正向操作,看看问题出在哪一环节: 安装一个NuGet程序包并重新编译——没事 安装另一个NuGet程序包并重新编译——没事 取消注释新增的代...

更多

Visual Studio 2013 中 NuGet 的“无法初始化 PowerShell 主机”错误

坑爹的NuGet,又慢又爱出错,今天遇到此错误: 无法初始化 PowerShell 主机。如果您的 PowerShell 执行策略设置设为 AllSigned,请先打开程序包管理器控制台以初始化该主机。 看各处说解决办法都是使用管理员权限运行PowerShell 输入命令: Set-ExecutionPolicy AllSigned 或者: Set-ExecutionPolicy AllSigned 直接这样是不管事的,重启也不管事,应该在这之后打开程序包管理器控制台: 这时候应该就初始化完毕了,可以尝试再去安装程序包了,不过我懒得弄了,直接命令行安装了,以Microsoft HTTP Client Libraries为例,直接输入下面的代码即可: Install-Package Microsoft.Net.Http 又测试了一下,依然无法用正常方法安装,真垃圾,看来以后都只能采用控制台的方式安装了。 关于每个程序包的安装代码,可以通过其识别码页面获取: 分享或转载本博客站点内的所有原创内容时,都必须遵循此协议: 姓名标示-非商业性-相同方式分享 4.0 国际 (CC BY-NC-SA...

更多