我有一个visualstudio2019,我有一个解决方案。
我在解决方案中有两个项目,其中一个是传统的.net core 2.2 web应用程序,现在我有了一个新的项目,一个也是python。
我还需要将python项目复制到publish文件夹中,以便docker可以将其容器化。
我无法将python项目添加为对c#项目的引用,因为它将返回一个错误:找不到pyproj(我100%相信它是正确的,但我猜它在构建过程中不会复制)
我试图在csproj文件的msbuild中添加一些额外的内容来强制复制它,但我猜它不起作用,因为它不在项目文件夹中,所以不允许这样做。
我试着把这句话添加到csproj中
<ItemGroup>
<MySourceFiles Include="..\PYNLP\" />
</ItemGroup>
还有这个
<ItemGroup>
<MySourceFiles Include="$(MSBuildProjectDirectory)\..\PYNLP\" />
</ItemGroup>
没有一个效果好。如果有人有主意,我很乐意试试。你知道吗
列出的代码无效,因为指定的是文件夹而不是文件,并且MySourceFiles必须包含特定的文件。你知道吗
只是一些建议:
要实现这一点,必须编写一个自定义目标。你知道吗
首先,请使用像
*.*
这样的通配符来包含所有文件。文件我认为您使用的核心方法是Copy Task将文件复制到目标文件夹中。并且必须指定目标的运行方式,例如AfterTargets or BeforeTargets。你知道吗样本
这是一个样本,我已经测试成功,运行没有错误。你知道吗
通常当您通过发布UI发布项目时,该过程包含生成目标,并且该目标将通过发布UI自动执行。你知道吗
$(PublishUrl)
将文件直接复制到Publish文件夹中。你知道吗%(RecursiveDir)%(Filename)%(Extension)
将保留python项目的文件结构。你知道吗此外,请将类似“PythonFiles”的Itemgroup放入自定义目标,以防输入文件再次映射到项目,从而在全局定义项时造成混淆。你知道吗
希望对你有帮助。你知道吗
相关问题 更多 >
编程相关推荐