Xamarin 中的 ASP.NET MVC 3 项目给出 System.UnauthorizedAccessException 错误
Posted
技术标签:
【中文标题】Xamarin 中的 ASP.NET MVC 3 项目给出 System.UnauthorizedAccessException 错误【英文标题】:ASP.NET MVC 3 project in Xamarin gives System.UnauthorizedAccessException error 【发布时间】:2013-12-29 01:13:26 【问题描述】:我在 Mac OS X (10.9) 上运行 Xamarin (4.0.10 build 5)。我创建了 ASP.NET MVC 3 项目。第一次运行时出现 Microsoft.AspNet.WebPages 错误。我在this 文章之后解决了这个问题并修复了它。现在,当我运行它时,会出现另一个错误:
System.UnauthorizedAccessException 访问路径“/Library/Frameworks/Mono.framework/Versions/3.2.0/etc/mono/registry” 被拒绝。
堆栈跟踪:
在 System.IO.Directory.CreateDirectoriesInternal(System.String 路径) [0x00064] 在 /private/tmp/source/bockbuild-xamarin/profiles/mono-mac-xamarin-no-pcl/build-root/mono-3.2.0/mcs/class/corlib/System.IO/Directory.cs:113 在系统.IO.Directory.CreateDirectory(System.String 路径)[0x000a4] 在 /private/tmp/source/bockbuild-xamarin/profiles/mono-mac-xamarin-no-pcl/build-root/mono-3.2.0/mcs/class/corlib/System.IO/Directory.cs:80 在 System.IO.DirectoryInfo.Create () [0x00000] 中 /private/tmp/source/bockbuild-xamarin/profiles/mono-mac-xamarin-no-pcl/build-root/mono-3.2.0/mcs/class/corlib/System.IO/DirectoryInfo.cs:141 在 (wrapper remoting-invoke-with-check) System.IO.DirectoryInfo:Create () 在 System.IO.Directory.CreateDirectoriesInternal (System.String 路径)[0x00039] 在 /private/tmp/source/bockbuild-xamarin/profiles/mono-mac-xamarin-no-pcl/build-root/mono-3.2.0/mcs/class/corlib/System.IO/Directory.cs:98 在 System.IO.Directory.CreateDirectory(System.String 路径)[0x000a4] 在 /private/tmp/source/bockbuild-xamarin/profiles/mono-mac-xamarin-no-pcl/build-root/mono-3.2.0/mcs/class/corlib/System.IO/Directory.cs:80 在 Microsoft.Win32.KeyHandler..ctor (Microsoft.Win32.RegistryKey rkey, System.String basedir, Boolean is_volatile) [0x0004a] in /private/tmp/source/bockbuild-xamarin/profiles/mono-mac-xamarin-no-pcl/build-root/mono-3.2.0/mcs/class/corlib/Microsoft.Win32/UnixRegistryApi.cs:136
请帮我解决这个问题。
【问题讨论】:
【参考方案1】:在运行 Arch 发行版的 Linux 机器上,我进行了以下更改以解决安全问题:
sudo mkdir /etc/mono/registry
sudo mkdir /etc/mono/registry/LocalMachine
sudo chmod g+rwx /etc/mono/registry/
sudo chmod g+rwx /etc/mono/registry/LocalMachine
【讨论】:
【参考方案2】:看看this blog post对你有没有帮助。
(解决方案的裂缝)
sudo mkdir /Library/Frameworks/Mono.framework/Versions/Current/etc/mono/registry
sudo chmod g+rwx /Library/Frameworks/Mono.framework/Versions/Current/etc/mono/registry
【讨论】:
我注意到大多数 Xamarin 用户都会崩溃。为第一次启动崩溃应用程序的软件工作室支付近 300 美元是可耻的:( @KenanBek 如果它让您感觉更好,Xamarin Studio 的 MVC 3 部分是免费的。他们向您收取为移动设备构建的费用。以上是关于Xamarin 中的 ASP.NET MVC 3 项目给出 System.UnauthorizedAccessException 错误的主要内容,如果未能解决你的问题,请参考以下文章
我们是不是正在使用 .Net 3.5 中的 MVC 框架转向经典 ASP?
Wordpress 类似于 ASP.NET MVC2/3 或 ASP.NET 4.0 中的动态永久链接