【问题标题】:Nant wont recognize namespace.PropertiesNant 不会识别 namespace.Properties
【发布时间】:2013-04-15 06:00:26
【问题描述】:

我正在尝试使用 nant 为 c# 项目构建解决方案,但是在我的构建文件中指定资源时遇到问题。我得到错误代码: CS0234:命名空间“Darkside”中不存在类型或命名空间名称“Properties”。如何修改我的构建文件以消除错误?

这是我的源文件中导致问题的代码的 sn-ps 之一:

Image enemyImage = DarkSide.Properties.Resources.DarkSide_Asteroid_Medium_Gray;

其中 Darkside 是项目的命名空间,其余访问资源

这是我的构建文件的 sn-p:

<target name="build" depends="init" description="compiles the source code">
    <property name="build.dir" value="${project::get-base-directory()}/${project::get-name()}/bin/release/${project.version}${basedir.suffix}"/>        
    <mkdir dir="${build.dir}"/>
    <csc target="exe" output="${build.dir}/Darkside.exe" debug="${build.debug}">

        <sources>
            <include name="Darkside/*.cs"/>
        </sources>

        <resources >
            <include name="${project::get-base-directory()}/${project::get-name()}/Properties/**" />
        </resources>
    </csc>
</target>

【问题讨论】:

    标签: build nant csc


    【解决方案1】:

    您可能应该为resources 标签定义prefix(使用dynamicprefix="true")。

    <target name="build" depends="init" description="compiles the source code">
        <property name="build.dir" value="${project::get-base-directory()}/${project::get-name()}/bin/release/${project.version}${basedir.suffix}"/>        
        <mkdir dir="${build.dir}"/>
        <csc target="exe" output="${build.dir}/Darkside.exe" debug="${build.debug}">
    
            <sources>
                <include name="Darkside/*.cs"/>
            </sources>
    
            <resources dynamicprefix="true" prefix="DarkSide">
                <include name="${project::get-base-directory()}/${project::get-name()}/Properties/**" />
            </resources>
        </csc>
    </target>
    

    确实csc 任务的documentation 状态:

    注意:为了让&lt;csc&gt; 任务生成与 Microsoft Visual Studio.NET 生成的资源名称相匹配的清单资源名称,&lt;resources&gt; 元素的前缀属性值应与 C# 的“默认命名空间”匹配项目,dynamicprefix属性的值应该设置为“true”。

    【讨论】:

    • 即使在附加了默认命名空间之后,我仍然会收到相同的错误相同的次数。
    • @Mozly 尝试使用 prefix="DarkSide.Properties.Resources" 和 dynamicprefix="false"。
    • @Mozly Ah... 你还需要一个更好的cs。类似 include name="Darkside/**/*.cs"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多