我正在尝试使用Visual Studio在Xamarin Android中使用Xamarin Forms创建一个简单的应用程序,但是每次我尝试构建时都会遇到此错误。我仔细检查了我应该包含Portable项目的引用,并确保我有最新版本的Xamarin.Forms。我还能错过什么会产生这个错误?
Cannot convert "{StaticResource Primary}" into Xamarin.Forms.Color
答案 0 :(得分:12)
就我而言,我发现使用文件名中的破折号制作带有生成代码的跨平台Xamarin Form应用程序时,Visual Studio 2017存在一个错误。
它看起来像是试图以大写字母表示标题,然后抱怨找不到该文件。
例如,对于“ my-project”,它将开始在生成的代码的某些区域中寻找“ my_project”。
使用没有符号的项目名称似乎可以解决问题。
答案 1 :(得分:3)
找到错误的来源!如果其他人正在努力,请尝试使用NuGet Packages for Solution更新Xamarin.Forms。我只使用了包管理器控制台,它没有给我最新版本。
答案 2 :(得分:1)
检查在Android项目中是否在pcl下定义了创建类App()的名称空间。例如,如果您的pcl类App()存在于名为App2的命名空间下,那么您需要在Android项目中添加此命名空间,如下所示, 使用App2;
答案 3 :(得分:0)
如果您仍然遇到问题,请检查解决方案探索中的引用下是否引用了PCL项目 the refrences option in the solution explore
这应解决错误
答案 4 :(得分:0)
如果仍然无法解决问题,请检查此:
转到
- task: VSBuild@1
displayName: 'Build solution YourSolution'
inputs:
solution: $(solution)
msbuildArgs: '/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true
/p:SkipInvalidConfigurations=true
/p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip"
/p:DeployIisAppPath="Default Web Site"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
project -> Reference - right click and select -.> Add reference -> from left side
完成
答案 5 :(得分:0)
我正在重命名解决方案的项目,并且遇到了同样的错误。我要做的是删除对.Net Standard项目的引用,并以新名称读取Android项目。
答案 6 :(得分:0)
我的情况确实很少见,但我遇到了同样的问题,问题是我引用了两个引用Xamarin.Forms的pcl项目(一个标准共享项目,另一个是带有UI控件的自定义库)。消除对第二个对象的依赖性解决了这个问题。
答案 7 :(得分:0)
此答案与 Xamarin 无关,但可能会在将来帮助其他人看到相同的错误消息。这是一个 ASP.NET 5.0 Blazor Web Assmebly 项目,我使用 Visual Studio for Mac 进行开发。
当我将项目从 Foo
重命名为 FooBar
时出现此错误。
事实证明,VS 没有重构我创建的任何类中的命名空间,因此根命名空间保留为 Foo
,这是启动 Program
类所在的位置,但框架正在搜索对于项目根目录中的 App.razor
文件,该文件已重命名为 FooBar
。
为了解决这个问题,我只是将 Program
类的命名空间从 Foo
重命名为 FooBar
。