有没有一种方法可以设置Visual Studio发布所有的PDF文件?
我知道你可以在项目中为每个单独的PDF文件设置“内容”属性的构建操作。
但这意味着对于我的当前项目,需要重复100次相同的操作。有没有一种更改全局设置以执行相同操作的方法?
有没有一种方法可以设置Visual Studio发布所有的PDF文件?
我知道你可以在项目中为每个单独的PDF文件设置“内容”属性的构建操作。
但这意味着对于我的当前项目,需要重复100次相同的操作。有没有一种更改全局设置以执行相同操作的方法?
只需右键单击您要包含的文件,选择属性,在属性窗口中将“构建操作”更改为“内容”。这样在发布时就会包含该文件。
有一个更简单的方法,您需要确保文件已被包含在项目中,然后右键单击该文件并转到属性,在那里会有一个选项“复制到输出目录”,选择“始终复制”
祝好运
Copy Always
本身并不能解决问题。设置构建操作可以解决这个问题。 - cowsay添加一个后构建事件,命令如下:
xcopy "$(ProjectDir)myPdfs\*.pdf" "$(TargetDir)myPdfs\" /S /Y
myPdfs
只是您项目目录下包含所有 PDF 文件的子文件夹。如果您有多个这些子文件夹,则需要为每个子文件夹运行该命令。<ItemGroup>
<Content Include="c:\PDFs\**\*.pdf" />
</ItemGroup>
<ItemGroup>
<Content Include="MyPdfs\**\*.pdf" />
</ItemGroup>
更多关于此的细节可以在以下链接中找到:https://dev59.com/8nRB5IYBdhLWcg3wj3yc#12202917
打开csproj
文件并更改:
<None Include="my.pdf">
to:
<Content Include="my.pdf">
CopyToOutputDirectory会在发布时将文件复制到bin文件夹中。将“Build Action”设置为“Content”将无需设置CopyToOutputDirectory即可复制文件。但仍需对每个文件执行此操作。您可以在项目文件中进行正则表达式替换,从<None Include="XXX.pdf" />
替换为<Content Include="XXX.pdf" />
。
您可以直接编辑项目文件,以添加所需的<CopyToOutputDirectory>Always</CopyToOutputDirectory>
元素到PDF文件中。(如果您的项目不在源代码控制下,请先在副本上进行测试,并备份以防出现问题)