【问题标题】:Refering from image resources to images in the packages folder in VS 2015在 VS 2015 中从图片资源引用到 packages 文件夹中的图片
【发布时间】:2017-03-01 09:22:10
【问题描述】:

对于某个项目,我需要创建包含图像的不同 NuGet 包。然后,我需要在项目中安装这些包并将图像放入表单中。这一切都很顺利。

我的问题是,当我签出到 Git 中的另一个分支并进行包还原时,由于某种原因,Visual Studio 无法找到表单中使用的图像。为了让它工作,我需要在解决方案级别手动输入以下命令:

Update-Package Reinstall

在我这样做之后,一切都在重新构建。问题是,我不想每次在 Git 中切换分支时都这样做。我已经查看了 Visual Studio 是否有解决此问题的方法,但我只能找到:Linked and Embedded Resources

我希望当我执行包还原时,Visual Studio 会替换对图像的引用,因此它始终会在包还原后识别图像。我的问题:这是否可能,如果是,如何?

我希望您有足够的信息来回答这个问题。谢谢!


编辑: 好的,让我在这里重新表述问题。当我恢复包时,它只恢复\packages\ 文件夹中的文件。这意味着,当我在本地克隆存储库时,项目资源文件夹中没有任何内容,因为我在 .gitignore 图像中说过应该忽略。所以当我恢复它不会更新\packages\ 文件夹。 这就是为什么我希望在资源文件夹中引用 \packages\ 文件夹。

例如:

Package1.1.0.0 包中有图片。称为 Img1。当我安装软件包时,它将图像保存在以下路径下。

\packages\Package1.1.0.0.\Resources\Icons\Img1.png

\packages 是解决方案下的文件夹。

在我安装包的项目中,还有一个Img1。该图像保存在此处:

\project\Resources\Icons\Img1.png

项目保存在解决方案下。

现在,我希望 Img1.png 不包含文件本身,而是对包文件夹中的 Img1.png 的引用。此外,当我将包更新到版本 1.0.1 时,我希望 Visual Studio 仍然正确引用 Img1.png。


编辑:

好的,所以我环顾四周,发现我的确切问题是 NuGet 的 GitHub 页面上的一个问题:https://github.com/NuGet/Home/issues/2895

【问题讨论】:

  • 如果你的问题和github上的issue一样,建议你更新你的问题或者删除它,然后在GitHub页面上添加评论,对其他社区有好处 Clear your question并且很容易找到答案。谢谢。

标签: c# git visual-studio-2015 nuget nuget-package-restore


【解决方案1】:

如果我理解正确,表格中的图像应该使用相应包文件夹的相对路径来引用。例如

/Packages/Package1/Images/Img1.png

通过这种方式,一旦包恢复并在包文件夹中可用,即使在新分支中它们也应该能够得到解决。

只是为了确保检查表单中的图像路径是否正确设置。

【讨论】:

  • 本来想回复的,后来想到一个可能的解决办法,不小心按了回车,所以是啊……
  • 好的。那么,如果您可以更新您的问题或在您的解决方案中添加答案,这可能会对某人有所帮助。
  • 我编辑了原始帖子,希望这能更好地澄清它。
  • 另外,根据您的回答,我无法将软件包更新到较新的版本,因为该文件夹如下所示:/packages/package1.1.0.0/Images/Img1.png。 1.0.0。是包的版本。当我更新我的包时,它会创建一个新文件夹:/packages/package1.1.0.1/ 并删除旧文件夹,导致无法找到对图像的引用。
【解决方案2】:

如果您的问题是“当我进行包还原时,Visual Studio 会替换对图像的引用,因此它始终会在包还原后识别图像”。

正如您的评论,当您将包从包 1.1.0.0 更新到包 1.1.0.1 时,旧包 1.1.0.0 将被删除,并且引用也将被破坏。因此需要在解决方案级别手动键入以下命令:

Update-Package Reinstall

如果要将包更新到版本 1.0.1,并且 Visual Studio 仍然正确地引用了 Img1.png,则可以将此 Img1.png 单独打包到包中,而不是将其包含在 package1 中.1.0.0。在这种情况下,当您将包 1.1.0.0 更新为 1.1.0.1 时,不会破坏包 Img1.png 的引用

【讨论】:

    猜你喜欢
    • 2015-05-02
    • 2014-09-03
    • 2014-07-17
    • 2015-02-10
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    相关资源
    最近更新 更多