【问题标题】:How to rename a Xamarin Cross-Platform App?如何重命名 Xamarin 跨平台应用程序?
【发布时间】: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 跨平台应用程序吗?

这对我真的很有帮助

Creation of the Project screenshot

【问题讨论】:

  • @DiegoRafaelSouza 不是,我也尝试过重构,它只是改变了命名空间而不是项目本身,这会导致更多错误。

标签: c# visual-studio xamarin


【解决方案1】:

您必须经历并重命名所有内容。重命名命名空间、程序集,可能是文件,具体取决于您最初拥有的内容。它只是您必须手动进行的一堆更改。 您还必须手动编辑 .cproj 文件以修复与新文件夹名称等对应的路径。

【讨论】:

    猜你喜欢
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    相关资源
    最近更新 更多