Whilst building an old Windows Phone 8 app with Visual Studio 2015 I've come across and unusual error when I upload the built .XAP to the store. It throws the error:
Package acceptance validation error: Package cannot contain multiple files with identical filenames. Please correct the following files: Assets\ApplicationIcon.png, Assets\Background.png
I can view the contents of the .xap file by renaming the file to a .zip and looking inside. Sure enough there are two files with the same name (something I didn't think was even possible!):
This app built fine in other versions of Visual Studio - any idea what is going on and how to fix this?
After some investigation it seems the root cause of the problem can be found in WMAppManifest.xml file in Properties.
<IconPath IsRelative="true" IsResource="false">Assets/ApplicationIcon.png</IconPath>
<SmallImageURI IsResource="false" IsRelative="true">Assets/Background.png</SmallImageURI>
<BackgroundImageURI IsResource="false" IsRelative="true">Assets/Background.png</BackgroundImageURI>
Simply changing all the forward slashes to backward slashes fixes the problem.
<IconPath IsRelative="true" IsResource="false">Assets\ApplicationIcon.png</IconPath>
<SmallImageURI IsResource="false" IsRelative="true">Assets\Background.png</SmallImageURI>
<BackgroundImageURI IsResource="false" IsRelative="true">Assets\Background.png</BackgroundImageURI>
And here is the inside of the .xap - no more duplicate files!
No more duplicate files!
This is an intensely annoying issue, I hope if anyone out there is still using Windows Phone 8 and comes across this it helps!
Related
I am trying to build a web api project using monodevelop on a mac. The thing is that after a few hiccups (explained in a question that turned out to be so messy I have just deleted) I get to the point of getting this error
/Users/myuser/git/LiveData/LiveData/CSC: Error CS0041: Unexpected error writing debug information -- 'Windows PDB writer is not available -- could not find Microsoft.DiaSymReader.Native.x86.dll' (CS0041) (LiveData)
In a windows machine the same project builds using visual studio targeting mono 4.5.
When I click on the error it tells me that /Users/myuser/git/LiveData/LiveData/CSC doesn't exist
Another thing is that in the folder structure of the solution there's a package folder (not the one inside the project) and inside this one I have a folder called Microsoft.Net.Compilers 1.3.2 that has inside another folder called "tools" that contains among other things csc.exe and the dll thta can't be found.
I have tried to install the dll directly in the project using nuget but even if it was installed the build showed me the same error
Thanks,
As for workaround for now you can just limit usage of Microsoft.Net.Compilers to Release configuration (edit *.csproj file):
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="'$(Configuration)' == 'Release' And Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />
take a look at beginning of condition:
'$(Configuration)' == 'Release'
This way I can build and debug locally and build my project ie. in appharbor.
Building the project in release configuration should fix it!
This might not be completely related but may be helpful in some ways. Regarding the issue on 'could not find Microsoft.DiaSymReader.Native.x86.dll', have a look at this issue on GitHub: https://github.com/dotnet/cli/issues/3016
It seems like the solution is either:
Dependency to Microsoft.NETCore.Platforms needed for RID graph which
was missing. Any package which has transitive dependency on it (like
NETStandard.Library) could also make things work.
Adding dependency to "Microsoft.NETCore.Platforms": "1.0.1-" or
"NETStandard.Library":"1.5.0-" make it work.
adding Microsoft.NETCore.Platforms works as well
I have made an app For Winodws Phone 8 platform and I am publishing it in Windows phone 8 store.All is well but at the end the error appears:
Error code 2001:There are duplicate files in AppManifest.xaml. Remove one of the files and then try again.
I have searched a lot on google, I have cleaned my solutions, rebuilt the solution, cross checked the manifest file but all in vain.
Goto ur_proj_folder/bin/release and open appmanifest.xaml in a notepad and check for repeated refrences of namespace :) Hope it helps
This usually happen if you have a duplicate reference to dependent dll. e.g. I have added reference of Advertising sdk of two different versions at one.
As Niwin said, the problem are the duplicated namespace's references in "Release/AppManifest.xaml", but the cause are the References added to the project, in my case when i added manually the "Microsoft Advertising SDK for Windows Phone 8.1 (Silverlight)" this dll started to conflict with "Microsoft.Advertising.Mobile.UI.dll", cause they have the same name. Just remove the reference and the problem will be gone.
During packaging the Windows Store application, I get an unspecified error [APPX1204]:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\AppxPackage\Microsoft.AppXPackage.Targets(1139,9): error APPX1204: Failed to sign 'D:\Projects\VS2012\Stroik\Stroik\AppPackages\Stroik_1.0.0.11_AnyCPU_Test\Stroik_1.0.0.11_AnyCPU.appx'. SignTool Error: An unexpected internal error has occurred.
Build output refers to the part of a file generated by VS2012:
<SignAppxPackage AppxPackageToSign="#(FinalAppxPackageItem)"
CertificateThumbprint="$(PackageCertificateThumbprint)"
CertificateFile="$(PackageCertificateKeyFile)"
HashUri="$(_HashUri)"
EnableSigningChecks="$(EnableSigningChecks)"
>
<Output TaskParameter="ResolvedThumbprint" PropertyName="ResolvedThumbPrint"/>
<Output TaskParameter="AppxPackagePublicKeyFile" PropertyName="AppxPackagePublicKeyFile" />
</SignAppxPackage>
Yesterday packaging proceeded successfully. Today I added aditional logic to my app and changed some data in manifest. Since then I'm reciving presented error. I tried to regenerate Certificate in Packaging menu, delete Store/Temporary Keys (then regenerate), ... much more but nothing helps.
Now I have no idea how to handle it. Furthermore packaging a new project (as it is provided by vs2012) results in the same error.
Have you got any suggestions how to solve it.
If it helps anyone else, I was trying to make the build on a network share (virtualizing windows). Creating it on the Windows partition solved the issue.
I was developing on a Virtual Machine in VirtualBox and tryed to publish to the shared folder.
Change the output folder to a local folder on the virtual maschine solved it.
Granted this is older - see if you can try it with a different live id
You could also try to generate a new app, and diff the manifests between the apps.
Now according to:
http://social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/f25939fb-c48c-4bd0-938e-6a0afbd2dca0/
you may want to sign out, use IE 'in safe private browsing' and create a new one.
Also ensure that IE is set in "Browsing History->Settings" to get a new version of the page every time.
Login with the new one and give it a try.
I'm not sure if this error is related here or not, but it's a starting point based on the prior feedback on the above post.
This japanese site lists the same error code and seems to have the same resolution as well
http://coelacanth.heteml.jp/blog/windows-8signtool-error-an-unexpected-internal-error-has-occurred/
Its worth a shot, but I'll admit on this one not being 100% sure, just trying to help out : )
I'm trying to port some existing code to WP8 and have come across a problem.
The code i am porting uses a smart pointer thats is defined in comdef.h but for some reason when I try and include comdef.h I get the following error.
comdef.h(25): fatal error C1083: Cannot open include file: 'olectl.h'
I understand what the error means and it seems there is no trace of "olectl.h" in the WP8 SDK include paths on my machine. Is anyone else having this problem, I've tried "repairing" my installation of "Visual studio 2012 Express for Windows Phone"
I have found some code that appears to include comdef.h and has gotten around the missing macro problem the link at the end of this post is talking about by not using the macro at all and explicitly using the code that the macro would expand to.
(Here is the code that does what I want to: https://devel.nuclex.org/framework/browser/graphics/Nuclex.Graphics.Native/trunk/Source/Rasterization/Direct3D11/Direct3D11Api.h?rev=1782)
Has anyone else experienced this, or could someone with the SDK installed try including comdef.h somewhere to see if it works for them.
The missing macro link:
http://connect.microsoft.com/VisualStudio/feedback/details/751127/com-smartptr-typedef-causes-errors-when-used-in-winrt-build
Thanks.
Yes, I see this too, so it appears this is "by-design".
Basically if the API isn't listed on MSDN in the list of supported COM/Win32 APIs, then it isn't a supported API on Windows Phone 8. It looks like only the combaseapi.h header is supported.
_com_ptr_t<T> and it's friends aren't on the list...
D:\Web\CityV2\App_Code\ActiveRecord.tt(0,0) : error CS0006: Compiling transformation: Metadata file 'MySql.Data' could not be found
Let me start by saying I'm using VWD 2008 Express.
These are the steps I've taken so far:
Created an entirely new project
Added references for Subsonic.Core.dll and MySql.Data.dll
Copied Active Record templates to project
Changed all <## include file="SQLServer.ttinclude" #> to <## include file="MySQL.ttinclude" #>
Copied the MySQL.ttinclude and Settings.ttinclude from the TemplateProviders folder
Updated Settings.ttinclude with my connectionstring and database information
Updated the Settings.ttinclude and created the external tool mapping as per ranomore's instructions
Attempted to build the code from the templates and received the error
I then realized that I didn't have MySql Connector "installed" on my dev box (even though I added a reference to the bin). So I proceeded to MySQL.com and downloaded the latest 6.0.4 connector msi and installed it (GAC). The error no longer appears, but neither does anything else: no new classes, no new errors, nothing [and yes, I refreshed the project after running the command ;-)].
Two things:
Am I missing a step somewhere?
Is there a way build the templates without needing MySQL installed to the GAC?
Unfortunately SubSonic 3 doesn't support VWD 2008 Express (or more specifically VWD doesn't support t4). There is a sort of workaround that ranomore came up with but it will require some work by you. See the following question for more details:
SubSonic ASP.NET MVC sample in Visual Web Developer Express
EDIT: I should have read your question properly you obviously already have the link above. Maybe worth your while downloading the trial of VS professional and seeing if you have more luck with that to see if it's worth outlaying the cash to buy it.
On a side note if you're looking to get an msdn subscription for free you should have a look into registering for the bizspark program