Gle*_*tle 0 visual-studio-2010 scaffold asp.net-mvc-3
当我在程序包管理器控制台中运行自定义Scaffold命令时,它会更新默认项目的.csproj文件,并添加对解决方案中所有其他项目中所有其他文件的引用!
有没有人见过这个?
有没有解决方法可以避免它?
.ps1文件中可能实际执行任何操作的唯一行如下所示:
Invoke-ScaffoldTemplate -Template $templateFile -Model @{ Name = $MyParam } -OutputPath $outputPath -Force:$Force
Run Code Online (Sandbox Code Playgroud)
编辑 PS1文件中的脚本(在主项目中)手动将输出文件的路径定位到其他项目中:
$outputPath = "..\OtherProject\TargetFolder\" + $EntityName
Run Code Online (Sandbox Code Playgroud)
在"Invoke-ScaffoldTemplate"命令中,我专门删除了对Project的引用,希望这是问题所在.
编辑:根据您添加的其他信息进行更新.谢谢你的澄清.
使用像"..\OtherProject\Filename"这样的上级路径不是将文件添加到其他项目的方法 - 这会产生您目睹的奇怪效果.如果将这样的路径赋予Invoke-ScaffoldTemplate,我会考虑添加一个检查来抛出异常.
将文件添加到其他项目的正确方法是将合适的-Project参数传递给Invoke-ScaffoldTemplate.然后,输出将添加到该项目,并且路径将被解释为相对于该项目.
例如,
$outputPath = "ExampleOutput"
$wroteFile = Invoke-ScaffoldTemplate -Project "OtherProject" -OutputPath $outputPath -Template $templateFile -Model @{ ... etc ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
426 次 |
| 最近记录: |