当我尝试构建Windows Phone应用程序时,我在PC上收到此错误消息:
Xap packaging failed. Object reference not set to an instance of an object
Run Code Online (Sandbox Code Playgroud)
我正在使用Dropbox.在我的笔记本电脑上,它工作得很好,我可以调试等...但在我的电脑上,我不能.
我尝试了很多东西,比如:
到目前为止,没有任何帮助.
知道如何解决这个问题吗?
silverlight xap visual-studio windows-phone-7 windows-phone-7.1
我将Silverlight控件打包并部署到SharePoint Web部件.我推送更新后,浏览器加载新版本的控件时遇到问题.我正在更新我的xap项目的程序集和文件版本,但似乎并不重要.让浏览器加载新xap的唯一方法是进入并删除临时Internet文件.对我来说,在开发过程中,没关系,但我需要在生产之前找到解决方案.有任何想法吗?
如何防止Web浏览器缓存Silverlight XAP文件?
我想这样做的原因是在开发期间我不想手动清除浏览器缓存,我正在寻找程序化方法服务器端.
我们正在为Windows Phone 8开发一个公司应用程序.
我已按照Windows Phone公司应用程序分发中描述的每个步骤进行操作
这是我做的:
此时,当wp8手机试图在没有先安装AETX的情况下下载XAP文件时,手机会给出正确的错误消息:"在安装此应用程序之前,您需要添加XXXX公司帐户.请联系您公司的支持人员寻求帮助".
安装AETX后,当wp8手机尝试安装XAP文件时,手机会要求确认:"你想从XXXX安装App1吗?" 单击"安装"按钮后,没有任何反应.没有成功消息,没有错误消息,没有安装指示,并且应用程序未显示在应用程序列表中.
我也尝试通过电子邮件发送AETX和XAP文件(如果Internet Explorer或iis无法处理文件类型),结果相同.
我也试过为我们的公司中心应用做同样的事情,结果相同.
据我所知,公司中心应用程序只是另一个应用程序(当然是出于不同的目的),普通应用程序和中心应用程序可以相同的方式(通过网址或电子邮件等)分发,对吧?
怎么了?在这里找不到问题?有任何想法吗?
我遇到了VS 2010的问题.它运行速度非常慢,并且在编译和打包xap文件时偶尔会崩溃并出现以下错误:
Xap packaging failed. Exception of type 'System.OutOfMemoryException' was thrown.
Run Code Online (Sandbox Code Playgroud)
在本地Windows 7临时目录中\Users\usernamexxxx\AppData\Local\Temp
有数千个文件,因此我将其删除,现在VS速度更快.
还有其他人有类似的问题吗?
silverlight compiler-errors visual-studio-2010 xap windows-7
如您所知,您可以构建一个Silverlight XAP包并使用HTML页面或asp.net页面上的object标签引用它.
当用户第一次引用页面时,浏览器从服务器下载XAP包,如果用户刷新同一页面,是重新下载相同的XAP包还是使用缓存版本?
如果用户导航到使用相同XAP包的另一个页面,并且由于用户所在的上一页已经下载了XAP包,浏览器是否使用了缓存版本或转到服务器并再次下载?
如果浏览器一直使用缓存版本,它如何知道何时使用缓存版本以及何时使用新版本的XAP软件包,因为它可能已经使用新的更改进行了重建?是否与包的版本号有关?
如果在Visual Studio中创建Windows Phone 8应用程序并使用nuget或手动提供的XML文档文件引用任何lib,则Visual Studio也会自动将这些XML文件打包到输出XAP中.
在我们的例子中,Visual Studio的这种奇怪行为几乎使XAP大小增加了两倍.(我们总共有8Mb的xml文档.)
WP7应用程序项目没有这样的问题.
如何通过强制Visual Studio不包装不必要的文档文件来减小xap文件的大小?
更新14/02/2013:
重现问题的步骤:
您会发现许多不必要的XML文档文件,如"System.Reactive.Core.xml"
我认为这是安全问题,因为如果您为项目(或解决方案中的其他项目)启用XML文档生成,那些XML文档也将打包到XAP中 - 当任何人都可以阅读您的代码注释时,这是非常不受欢迎的.
我试图找出如何强制浏览器重新下载.xap文件,如果新版本可用,但旧版本仍然在浏览器中缓存.
我见过另一个帖子: 你如何强制Firefox不缓存或重新下载Silverlight XAP文件?
最好的解决方案似乎是:
protected void Page_Load(object sender, EventArgs e)
{
var versionNumber = Assembly.GetExecutingAssembly().GetName().Version.ToString();
this.myApp.Source += "?" + versionNumber;
}
Run Code Online (Sandbox Code Playgroud)
但是,我没有得到this.myApp部分.那是什么样的对象?我很抱歉重新开放,但我希望人们能够发布完整的解决方案.
谢谢
我有一个silverlight类库(不是顶级应用程序),它有几个用户控件,由不同的silverlight应用程序共享.我已经完成并为控件提取了几个样式和画笔,并将它们放在一个单独的XAML文件中作为资源字典,我将其作为合并资源字典引入每个控件.现在,这在我的顶级应用程序中运行良好,只要我将该资源字典保留为"资源"构建操作并从控件中以这种方式引用它.
我真正想做的是将此资源字典XAML文件作为"内容"构建操作,将其复制到顶级XAP中,以便可以在XAP文件中交换XAML而无需重建项目.每当我尝试设置它时,XAML文件将被复制到类库项目的输出bin中,但它永远不会被复制到我的顶级silverlight应用程序项目输出目录或最终的XAP文件中.
完成此任务的最佳方法是什么?XAML资源字典本质上是类库的依赖项,而类库(用户控件)是顶级silverlight应用程序的依赖项.
我工作的公司在我们的国际站点之间有代理/ WAN加速器来缓存Intranet Web内容.我有一个Silverlight应用程序托管在一个位置的服务器上,但是被另一个位置的客户端访问.当用户访问托管Silverlight应用程序的网页时,他们会获得代理缓存的陈旧xap文件,而不是服务器的最新版本.本地用户总是获得最新的xap,因为他们的请求不是通过代理.
我已经尝试了其他地方提到的各种标头/元数据技术来防止缓存,并且包含的网页本身正在提供新的,但我仍然得到旧的.xap文件.如果没有让我们的IT管理员为我的网站禁用代理缓存,我能做些什么来确保从服务器而不是代理检索最新的xap文件?包含页面是ASP.NET.
xap ×10
silverlight ×8
caching ×4
browser ×2
c# ×2
.net ×1
client ×1
code-signing ×1
deployment ×1
proxy ×1
versioning ×1
windows-7 ×1
xaml ×1