构建后脚本返回错误级别 255

发布于 2024-09-27 01:15:50 字数 661 浏览 8 评论 0原文

我目前有以下脚本作为项目的后期构建:(

if $(ConfigurationName) == "Debug (x64)" || $(ConfigurationName) == "Release (x64)" (goto :x64)
if $(ConfigurationName) == "Debug" || $(ConfigurationName) == "Release" (goto :x86)

:x64
copy "$(SolutionDir)References\x64\System.Data.SQLite.dll" "$(TargetDir)System.Data.SQLite.dll"
goto :default

:x86
copy "$(SolutionDir)References\System.Data.SQLite.dll" "$(TargetDir)System.Data.SQLite.dll"
goto :default

:default
copy "$(SolutionDir)References\System.Data.SQLite.Linq.dll" "$(TargetDir)System.Data.SQLite.Linq.dll"

它根据配置将程序集的 x86 或 x64 版本复制到输出文件夹)

此脚本返回错误级别 255,并且由于我不知道批处理脚本,有人能指出我的错误吗?

I currently have the following script as post build on a project:

if $(ConfigurationName) == "Debug (x64)" || $(ConfigurationName) == "Release (x64)" (goto :x64)
if $(ConfigurationName) == "Debug" || $(ConfigurationName) == "Release" (goto :x86)

:x64
copy "$(SolutionDir)References\x64\System.Data.SQLite.dll" "$(TargetDir)System.Data.SQLite.dll"
goto :default

:x86
copy "$(SolutionDir)References\System.Data.SQLite.dll" "$(TargetDir)System.Data.SQLite.dll"
goto :default

:default
copy "$(SolutionDir)References\System.Data.SQLite.Linq.dll" "$(TargetDir)System.Data.SQLite.Linq.dll"

(it copies the x86 or x64 version of the assembly to the output folder according to the Configuration)

This script returns error level 255, and as I have no idea of batch scripting, could somebody point me to the error?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一直在等你来 2024-10-04 01:15:50

在 cmd.exe 中,输入 net helpmsg 255

扩展属性是
不一致。

我不知道这是否是实际的错误,但这是破译 Win32 错误代码的便捷方法。

In cmd.exe, type net helpmsg 255:

The extended attributes are
inconsistent.

I have no idea if that's the actual error, but it's a handy way to decipher Win32 error codes.

拧巴小姐 2024-10-04 01:15:50

据我所知,批处理文件中的 IF 不支持类似 C 的将多个表达式进行 OR 运算的语法。

因此,作为第一次尝试,请将脚本的第一行从: 更改

if $(ConfigurationName) == "Debug (x64)" || $(ConfigurationName) == "Release (x64)" (goto :x64)
if $(ConfigurationName) == "Debug" || $(ConfigurationName) == "Release" (goto :x86)

为:

if "$(ConfigurationName)"=="Debug (x64)" goto :x64
if "$(ConfigurationName)"=="Release (x64)" goto :x64
if "$(ConfigurationName)"=="Debug" goto :x86
if "$(ConfigurationName)"=="Release" goto :x86

另请注意在 $(ConfigurationName) 周围添加的 "
其余的应该可以正常工作。

As far as I know, the IF in batch files does not support C like syntax of ORing together multiple expressions.

So as a first try, change these first lines of your script from:

if $(ConfigurationName) == "Debug (x64)" || $(ConfigurationName) == "Release (x64)" (goto :x64)
if $(ConfigurationName) == "Debug" || $(ConfigurationName) == "Release" (goto :x86)

to:

if "$(ConfigurationName)"=="Debug (x64)" goto :x64
if "$(ConfigurationName)"=="Release (x64)" goto :x64
if "$(ConfigurationName)"=="Debug" goto :x86
if "$(ConfigurationName)"=="Release" goto :x86

Also note the added " around the $(ConfigurationName).
The rest should work fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文