最近,当我尝试部署项目时,我遇到了3个不寻常的错误。我知道XNA基本上是过时的,但我很久以前就开始了这个游戏,我想用XNA完成它。我无法部署在WP7仿真器或任何设备上。我正在使用W8.1。我在同一个操作系统上工作了一段时间,没有任何问题。但突然间,我开始出现这些错误。我没有真正改变我最近做出的改变。这些是错误。
1)“FilesToFilter = @(ReferenceSatellitePaths)”参数 “FilterItemsBySupportedCultures”任务无效。
2)“FilterItemsBySupportedCultures”任务意外失败。 System.ArgumentException:类型的对象 'Microsoft.Build.Framework.ITaskItem []'无法转换为类型 'Microsoft.Build.Framework.ITaskItem []'。在 System.RuntimeType.TryChangeType(对象值,Binder活页夹, CultureInfo culture,Boolean needsSpecialCast)at System.RuntimeType.CheckValue(对象值,Binder活页夹,CultureInfo culture,BindingFlags invokeAttr)at System.Reflection.MethodBase.CheckArguments(Object []参数, Binder binder,BindingFlags invokeAttr,CultureInfo culture,Signature sig)at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr,Binder binder,Object []参数, 文化信息文化) System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo文化)
在System.Reflection.RuntimePropertyInfo.SetValue(Object obj,Object value,BindingFlags invokeAttr,Binder binder,Object [] index, 文化信息文化) System.Reflection.RuntimePropertyInfo.SetValue(Object obj,Object value,Object [] index)at Microsoft.Build.Execution.TaskFactoryWrapper.SetPropertyValue(ITask task,TaskPropertyInfo属性,Object value)at Microsoft.Build.BackEnd.TaskExecutionHost.InternalSetTaskParameter(TaskPropertyInfo 参数,Object parameterValue)3)无法初始化“FilterItemsBySupportedCultures”任务 及其输入参数。
答案 0 :(得分:6)
如果您使用VS 2010 Express
用于Windows Phone,则需要编辑该文件:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\VPDExpress.exe.config
在探测标记
后,在绑定的最顶部添加此项 <dependentAssembly>
<assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="12.0.0.0-14.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
为我工作。适用于已安装的VS2013和VS2015。
P.S。 您需要在桌面上编辑文件以获得写入文件的权限,然后将其复制到所需位置。
答案 1 :(得分:3)
在安装更新,新的Framework版本或VS之后,所有症状都是一种版本冲突。也许我发现了solution你的问题:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe.config
将以下块添加到此文件的绑定块中:
<dependentAssembly>
<assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="12.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
我不确定作者是否真的在路径中使用了Microsoft Visual Studio **10.0**
(因为11.0是VS2012)。