MonoDevelop无法处理只读文件

时间:2011-03-07 16:12:55

标签: mono xamarin.ios monodevelop perforce readonly

我正在使用MonoDevelop和MonoTouch。当我向项目添加.NET程序集引用时,MonoDevelop会在构建过程中将该.dll文件复制到bin / iPhone / Release / xxxx.app目录中。然后在构建过程中,它将修改该文件并删除未使用的东西。

问题是,如果该文件是只读的,MonoDevelop会使构建过程失败,因为它以后无法修改(其副本)文件。这使得使用像Perforce这样的源控制系统非常困难,因为Perforce会将所有文件保持为只读状态,直到您将其检出。

我想要的只是让MonoDevelop在将文件复制到bin / iPhone / Release / xxxx.app时使文件可写,因为它拥有该文件的副本,所以它应该总是这样做。

有没有人知道如何让MonoDevelop执行此操作,或以其他方式解决此问题?

4 个答案:

答案 0 :(得分:1)

这是一个错误,而不是真正应该在SO上“回答”的错误。我建议您报告Novell's bug tracker上的错误或最坏情况,在irc.gimp.net上的#monodevelop中询问有关IRC的问题。

答案 1 :(得分:1)

Perforce不必将所有内容保持为只读,直到签出为止。使用p4 typemap和+ w修饰符。然后你必须记住检查文件是否由插件或其他任何东西完成。

答案 2 :(得分:0)

作为一种解决方法(在修复程序可用之前),您可以尝试在项目中添加一个构建后步骤,该步骤将从程序集文件中删除只读属性。

答案 3 :(得分:0)

您可以设置Perforce客户端工作区,以便所有文件都可写,即使它们未打开进行编辑也是如此。查看http://www.perforce.com/perforce/doc.current/manuals/p4guide/02_config.html#1067985

上的allwrite选项