出现错误CS0234:在进行部分make单类库时,类型或命名空间不存在

时间:2014-05-11 10:48:05

标签: mono

我试图在mono类库包中添加一些缺少的类。我的班级使用其他组装。我已将该程序集引用放入.csproj文件中,但它没有帮助。

为了使用其他程序集中的类,我该怎么办?在我看来,当我做“make”时,.csproj文件不会被编译。

我在Mono Project Contribution页面(http://mono-project.com/Contributing)上花了一些时间,但我仍然找不到如何操作。

这是我的代码:

using System;
using System.ComponentModel.DataAnnotations;
using System.Web.Security;
using System.Linq;
using System.Text.RegularExpressions;

namespace System.Web.Security
{
    [AttributeUsage(
        AttributeTargets.Property | AttributeTargets.Field | 
        AttributeTargets.Parameter, AllowMultiple = false)]
    public class MembershipPasswordAttribute : ValidationAttribute
    {
...

我尝试使用/mono/mcs/class/System.ComponentModel.DataAnnotations下的System.ComponentModel.DataAnnotations。我的类在System.Web程序集下(/mono/mcs/class/System.Web/System.Web.Security)。

以下是我在.csproj文件中引用的部分

  <ItemGroup>
...
    <ProjectReference Include="..\System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_4_5.csproj">
      <Project>{64e625c0-aa4e-44dc-98f4-352d552f2ef8}</Project>
      <Name>System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_4_5</Name>
    </ProjectReference>
  </ItemGroup>

提前谢谢!

1 个答案:

答案 0 :(得分:1)

.csproj文件并不是您正在寻找的内容。我实际上在同一个班级上工作(这是一个很大的巧合)。

mono不使用.csproj文件....我的意思是....确实如此,但不是真的。对于喜欢在/mcs/class/System.Web目录中使用像visual studio / xamarin等IDE开发的用户来说,更多的是打开Makefile并将其添加到第258行-r:System.ComponentModel.DataAnnotations \ 这似乎适用于我。

现在再次运行make,你不应再得到编译错误。

不要忘记将System.Web.Security/MembershipPasswordAttribute.cs添加到同一目录中net_4_5_System.Web.dll.sources的第4行。