【发布时间】:2018-03-06 02:33:24
【问题描述】:
我已经使用 Visual Studio 2017 创建了一个新的“跨平台应用程序 (Xamarin.Forms)”项目,如下面的屏幕截图所示。这个项目是用我现在不喜欢的名字创建的。你可能知道,Xamarin 在创建新的跨平台应用时会创建 4 个独立的项目:一个独立的跨平台项目、一个 Android 项目、一个 iOS 项目和一个 UWP 项目。
我尝试重命名解决方案以及独立重命名每个项目。我尝试使用查找和替换工具将包含旧项目名称的解决方案中的每个字符串更改为新项目名称,但没有任何工作正常。有如下错误信息:
Severity Code Description Project File Line Suppression State
Warning The "GenerateResourceDesigner" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load assembly 'App, Version=0.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'App.dll'
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
at Xamarin.Android.Tasks.GenerateResourceDesigner.<>c__DisplayClass41_0.<Execute>b__2(String assembly)
at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
at Xamarin.Android.Tasks.ResourceDesignerImportGenerator.CreateImportMethods(IEnumerable`1 libraries)
at Xamarin.Android.Tasks.GenerateResourceDesigner.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() App.Android
还有这个:
Severity Code Description Project File Line Suppression State
Warning The "ResolveLibraryProjectImports" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load assembly 'App, Version=0.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'App.dll'
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName)
at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(DirectoryAssemblyResolver res, ICollection`1 jars, ICollection`1 resolvedResourceDirectories, ICollection`1 resolvedAssetDirectories, ICollection`1 resolvedEnvironments)
at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() App.Android
TL;DR: 有人知道如何正确重命名整个 Xamarin 跨平台应用程序吗?
这对我真的很有帮助
【问题讨论】:
-
@DiegoRafaelSouza 不是,我也尝试过重构,它只是改变了命名空间而不是项目本身,这会导致更多错误。
标签: c# visual-studio xamarin