AutoCAD 2016中的错误更改
AutoCAD版本更改了工作目录,如我所见...AutoCAD 2009-2015 不要这样做。我的 BAT 和 SCR 文件使用
相对
路径进入自己的代码,因此现在(在 AutoCAD 2016 中)它们找不到必要的资源:scr、arg 和 dwg 文件,因为现在的工作目录与 BAT 文件所在的位置不同。
我不能使用绝对路径,因为我经常使用远程计算机(即输出路径不是本地目录)。如果我尝试计算一个完整的路径,那么它将有一些这样的路径:\\CompName\DirName\etc。我无法将此类路径写入我的 BAT abd SCR 文件中,因为它们位于远程计算机上,并且不知道此类路径。
例如,它适用于AutoCAD 2015:
call "C:\Program Files\Autodesk\AutoCAD 2015\accoreconsole.exe" /s "..\NUnit\startup-2015.scr" /p "..\NUnit\acad_2015_and_newer_NUnit_testing_profile.arg"
但对于AutoCAD 2016,它不起作用:
call "C:\Program Files\Autodesk\AutoCAD 2016\accoreconsole.exe" /s "..\NUnit\startup-2016.scr" /p "..\NUnit\acad_2015_and_newer_NUnit_testing_profile.arg"
AutoCAD 2016输出:
因此我的单元测试适用于AutoCAD 2009-2015,但不适用于AutoCAD 2016。
我可以获取BAT文件的当前目录:%~dp0,但是SCR文件呢(其代码使用单元测试加载托管DLL)?我的 BAT 和 SCR 文件由 msbuild 生成。
有人有解决这个问题的想法吗?
**** Hidden Message ***** 嗯......我发现了一个决定:SCR文件必须由BAT文件进行合并,而不是msbuild(就像我之前所做的那样)。在这种情况下,它可以为 SCR 文件命令写入绝对路径。 安德烈对此表示感谢。
我复制了“调用”C:\ Program Files \ Autodesk \ AutoCAD 2016 \ accoreconsole . exe "/s "..\NUnit\startup-2016.scr" /p "..\ NUnit \ acad _ 2015 _ and _ newer _ NUnit _ testing _ profile . arg”(为我调整了一下)保存为. bat文件。现在显示“无效文件名”,我还需要什么吗? 您将使用绝对路径而不是相对路径,正如我在上一条消息中所写的那样。因此,您需要在 BAT 文件中使用 %~dp0,即“%~dp0..\NUnit\startup-2015.scr“ 而不是 ”..\NUnit\startup-2015.scr” 嗨,
您是否尝试将 LEGACYCODESEARCHsys var设置为1? 谢谢,不幸的是,在
调用"C:\Program Files\欧特克\AutoCAD 2016\accoreconsole.exe" /s"C:\User\me\Documents\Visual Studio 2012\Projects\GetThangs15.scr"之前我从未制作过bat文件。
上面是完整的路径。所以这就是我所需要的吗?我把它放在记事本中并保存为. bat
this is my.cproj.user
Program
C:\Program Files\欧特克\AutoCAD 2015\acad.exe
C:\用户\我\文档\Visual Studio 2012\Projects\
/p"Lex2015" /nologo /b"C:\用户\bwalmsley\文档\Visual Studio 2012\Projects\GetThangs15.scr"
C:\用户\我\文档\Visual Studio 2012\Projects\
ShowAllFiles
MCI Gile,我一直在拔头发。Tx 布莱科,我不明白你最后的信息。您的问题解决了吗?
这是我的BAT文件的示例:
echo _NETLOAD "%~dp0..\NUnit\ant_ut.R20.1.dll" _QUIT Y > "%~dp0..\NUnit\startup-2016.scr"
call "C:\Program Files\Autodesk\AutoCAD 2016\acad.exe" /b "%~dp0..\NUnit\startup-2016.scr" /p "%~dp0..\NUnit\acad_2015_and_newer_NUnit_testing_profile.arg" /nologo
IF "%1" == "" call "%~dp0..\NUnit\NUnitOrange.exe" "%~dp0..\reports\xml-reports\ant_ut.R20.1-NUnit.xml" "%~dp0..\reports\ant_ut.R20.1.html"
这个BAT文件是由msbuild生成的.exe根据我的CSPROJ文件的设置。
我不将此类文件用于我的AutoCAD .NET扩展名的C#项目。 Tx Andrey,已经解决了,但是Tx对于bat文件信息,我会尝试一下
页:
[1]