我的项目有一个文件夹结构:
在服务器中(在Project/Server文件夹中运行)我引用这样的文件夹:
var rootFolder = Directory.GetCurrentDirectory();
rootFolder = rootFolder.Substring(0,
rootFolder.IndexOf(@"\Project\", StringComparison.Ordinal) + @"\Project\".Length);
PathToData = Path.GetFullPath(Path.Combine(rootFolder, "Data"));
var Parser = Parser();
var d = new FileStream(Path.Combine(PathToData, $"{dataFileName}.txt"), FileMode.Open);
var fs = new StreamReader(d, Encoding.UTF8);
Run Code Online (Sandbox Code Playgroud)
在我的Windows机器上,这个代码工作正常,因为它被Directory.GetCurrentDirectory()引用到当前文件夹,并且正在执行
rootFolder.Substring(0, rootFolder.IndexOf(@"\Project\", StringComparison.Ordinal) + @"\Project\".Length);
Run Code Online (Sandbox Code Playgroud)
获取项目的根文件夹(不是bin或debug文件夹).但当我在Mac上运行它时,它" Directory.GetCurrentDirectory()"将我发送到/ usr // [其他东西].它没有引用我的项目所在的文件夹.
在我的项目中找到相对路径的正确方法是什么?我应该在哪里存储数据文件夹,以便解决方案中的所有子项目都可以轻松访问 - 特别是对于Kestrel服务器项目?我更喜欢不必将它存储在wwwroot文件夹中,因为数据文件夹由团队中的其他成员维护,我只想访问最新版本.我有什么选择?
我有一个有效的虚拟滚动网格,用于按页面上的部分显示文档。我现在为搜索结果添加了另一个 RV,但由于某种原因,当我向下滚动时,内容会滚动到视图之外!!我试图将其简化为仅使用具有预定高度的 List 并消除潜在因素,但它仍然给了我这个奇怪的错误。代码本身按预期工作,它是起作用的列表。(我实际上是在使用 Cell Measurer 来获取行高,但即使使用以下版本,它也会起作用)。这是代码:
const rowRenderer = ({ index, isScrolling, style, key }) =>
this.resultRowRenderer(index, key, style, curList)
resultRowRenderer(index, key, style, list) {
...
return <Markup content={quote} onClick={() => jumpToLocCallback(location)} />
}
render() {
...
const renderList = (curList, i) => {
const rowCount = curList.results.length
return (
<List
key={i}
height={100}
rowHeight={30}
rowCount={rowCount}
rowRenderer={rowRenderer}
overscanRowCount={0}
width={700}
ref={(ref) => this.List = ref}
/>
)
}
const renderLists = searchResultsLists.map(renderList)
return (
<div className='results-sidebar'>
{renderLists}
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
谢谢