我尝试使用nant通过msbuild构建一个解决方案。问题是解决方案的目录是:
C:\Repositorio\Proyectos Casino\SPPM\Codificación\PokerManager正如你所看到的,它有一个特殊的字符
这是我的构建文件
<?xml version="1.0" encoding="ascii"?>
<project name="Simple" default="copy">
<property name="nantcontrib-dir"
value="${path::combine(nant::get-base-directory(), '..\..\nantcontrib-0.85')}" overwrite="false" />
<property name="dest-dir"
value="C:\temp\nant\table\full-release" overwrite="true" />
<property name="remote-dir"
value="C:\temp\nant\table\full-release" overwrite="true" />
<property name="cleandir"
value="C:\temp\nant\table" overwrite="false" />
<property name="pm-soldir"
value ="C:\Repositorio\Proyectos Casino\SPPM\Codificación\PokerManager\PokerManager.sln" />
<loadtasks assembly=
"${path::combine(nantcontrib-dir,'bin/NAnt.Contrib.Tasks.dll')}"
/>
<target name="build-PokerManager"
description="Builds all C# code">
<property name="nant.settings.currentframework" value="net-4.0"/>
<msbuild project="${pm-soldir}">
<property name="Configuration"
value="release" />
<property name="OutputPath" value="${dest-dir}"/>
</msbuild>
</target>
<target name="copy" depends="build-PokerManager">
<copy todir="${remote-dir}">
<fileset basedir="${dest-dir}">
<include name="**/*" />
</fileset>
</copy>
</target>
</project>当我运行它时,我会得到
build-PokerManager:
BUILD FAILED
C:\Juan Pablo\Release Maker\ForTablet\NAnt\table-releases.build(30,4):
'C:\Repositorio\Proyectos Casino\SPPM\Codifica
ci?n\PokerManager\PokerManager.sln' is not a valid value for attribute 'project'
of <msbuild ... />.
not valid characters in path..
Total time: 0.1 seconds.我试过使用utf-8和unicode,但都不起作用。
提前感谢
发布于 2011-08-17 03:32:11
我认为Spudley在正确的轨道上;<?xml version="1.0" encoding="ascii"?>不应该是<?xml version="1.0" encoding="UTF-8"?>吗?Ascii不能很好地处理Unicode字符...
发布于 2011-08-17 03:18:28
UTF-8编码应该可以工作,但可能系统中的某些东西不喜欢处理它?
在没有UTF-8的情况下,您尝试过实体编码吗?
该ó字符将被编码为Ó实体代码。无论字符编码是什么,这在您的XML中都应该有效。
(但不要只用字符串替换那个字符--使用适当的实体编码函数,这样无论现在还是将来,您都可以确保捕获到周围潜伏的任何其他字符)
https://stackoverflow.com/questions/7083599
复制相似问题