我正在尝试使用nant为c#项目构建解决方案,但是我在构建文件中指定资源时出现问题。我收到错误代码: CS0234:名称空间'Darkside'中不存在类型或命名空间名称'Properties'。如何修改构建文件以删除错误?
以下是导致问题的源文件中的代码片段之一:
Image enemyImage = DarkSide.Properties.Resources.DarkSide_Asteroid_Medium_Gray;
其中Darkside是项目的命名空间,其余的访问资源
以下是我的构建文件的片段:
<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>
答案 0 :(得分:0)
您应该为prefix
标记定义resources
(使用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状态:
注意:为了让
<csc>
任务生成与Microsoft Visual Studio.NET生成的清单资源名称相匹配的清单资源名称,<resources>
元素的prefix属性值应与“Default Namespace”匹配“C#项目,并且dynamicprefix属性的值应设置为”true“。