我的 csproj 模板中有一个链接文件:
<Compile Include="..\$saferootprojectname$\Shared Files\Mvx$saferootprojectname$.cs">
但是,当模板运行时,Visual Studio 不会单独保留相对路径,而是替换解压缩的临时文件夹的路径(随后被删除!!!)。结果是
> Error 1 Source file 'C:\Users\tim\AppData\Local\Temp\mi0qfyf2.5lc\Okra\Shared
> Files\MvxOkra.cs' could not be found \\vmware-host\Shared
> Folders\Documents\Projects\Temp\Plugins\Okra\Okra.Mac\CSC Okra.Mac
因为生成的 csproj 有
<Compile Include="C:\Users\tim\AppData\Local\Temp\k4psfgjk.22c\Crab\Shared Files\MvxCrab.cs">
<Link>MvxCrab.cs</Link>
</Compile>
而不是相对路径。有什么方法可以在不求助于向导的情况下解决这个问题?
更新。这可以通过将 <CreateInPlace>true</CreateInPlace> 添加到 vstemplate 中来解决。然后相对路径最终正确。但是,我不想要这个解决方案。我希望允许 CreateInPlace 为 false 的解决方案(现在在 VS2012 中似乎是默认设置),因为我的解决方案位于网络共享上,它会为模板中的每个项目触发“你想打开”提示(那里是 8)。(即使我说不要问)
也许另一种解决方案是如何使网络共享受信任,这样就不会出现此提示。