Windows runtime 我是否应该添加我的Metro应用程序';是否将s TemporaryKey.pfx文件发送到版本控制?

Windows runtime 我是否应该添加我的Metro应用程序';是否将s TemporaryKey.pfx文件发送到版本控制?,windows-runtime,winrt-xaml,pfx,Windows Runtime,Winrt Xaml,Pfx,我已经创建了一个Metro风格的C#/XAML应用程序,现在我正试图将其添加到版本控制(Git,以及后来的GitHub)中。这意味着找出哪些文件属于版本控制,哪些不属于 当我创建Metro项目时,Visual Studio向其中添加了一个名为ProjectName_TemporaryKey.pfx的文件。从我所读到的,.pfx文件显然与代码签名或证书之类的东西有关。我还没有找到任何东西能够准确解释它们在Metro风格应用程序中的含义,或者你应该如何管理它们 我计划将我的代码推送到GitHub(在

我已经创建了一个Metro风格的C#/XAML应用程序,现在我正试图将其添加到版本控制(Git,以及后来的GitHub)中。这意味着找出哪些文件属于版本控制,哪些不属于

当我创建Metro项目时,Visual Studio向其中添加了一个名为ProjectName_TemporaryKey.pfx的文件。从我所读到的,.pfx文件显然与代码签名或证书之类的东西有关。我还没有找到任何东西能够准确解释它们在Metro风格应用程序中的含义,或者你应该如何管理它们

我计划将我的代码推送到GitHub(在公共存储库中)。从长远来看,我计划将我的应用程序放在Windows应用商店中。如果生成项目需要.pfx文件,那么我最好签入它。如果它包含一个将我识别为应用程序作者的数字身份,并且发布它会让互联网上的任何人在我不知情的情况下将我的应用程序的新版本推送到Windows应用商店,那么我最好不要签入它


所以我的问题是,TemporaryKey.pfx文件中有什么秘密吗?我应该将它签入我的公共存储库,还是不受源代码控制?(如果我没有将其放入源代码管理,但想在另一台计算机上检查我的代码,会有什么问题?

临时代码证书中使用.pfx对应用程序进行签名,以便部署到您的计算机上,这样您就可以进行调试了。您可以删除它,但需要生成一个新的临时密钥(通过package.appxmanifest对话框中的Packaging选项卡)。我总是把它放在我发布的代码中,因为它对使用代码的人来说更容易(也就是说,没有错误消息)。如果您查看一些其他WinRT源项目(例如MVVMLight),为了方便起见,它们还包括.pfx


如果我理解正确,在商店提交过程中会更换临时pfx,因此您无需担心临时pfx被其他人使用

.PFX是你的钥匙(就像家门口的钥匙)。 这是为了使用私钥进行代码签名(安全性所需的密码短语)。 除了应用程序的开发人员之外,没有人可以拥有它。 如果你是唯一有权访问存储库的人,你可以对它进行版本控制,但是有人可以侵入它,然后呢。。。? 每个人都可以假装你是程序的作者。
对不起,我的英语不好。

这是一个很好的问题。虽然我没有一个好的答案-生成一个新密钥相当容易,因此代码在没有它的情况下仍然可用(只需要额外的一步)-您需要转到您的Package.appxmanifest/Packaging tab/[选择证书…]/[配置证书…]/[创建测试证书…]-它允许您创建一个新的pfx文件,如果旧版本无效,这也很有用-例如,当您从旧版本的Win8和开发工具升级项目时。好的,很高兴知道。你知道如果你生成了一个新的测试证书,会不会有什么问题?例如,您将无法再向应用商店提交应用程序的新版本吗?或者他们一开始不会接受任何有测试证书的东西——在你提交到应用商店之前,你必须在某处购买证书吗?一定有这方面的文档,我就是找不到。不,对不起。我还没有看到太多关于这个的细节,我还没有商店令牌,或者我自己已经在商店发布了一个应用程序。嗯,听起来第一条评论是最接近答案的…底线,我没有签入它?我尝试从项目中删除.pfx文件,并得到一个编译器警告,导致我进入这个页面:…不幸的是,该页面未说明该文件是否要签入版本控制。是的,当您创建应用程序包以用于发布存储时,将生成一个新的密钥文件$appname$\U StoreKey.pfx。我总是将$appname$\u TemporaryKey.pfx和$appname$\u StoreKey.pfx都保存在版本控制中。。。发布应用程序后,您将获得一个
*\u StoreKey。pfx
签入该应用程序是不安全的?我不会签入store key,尤其是在托管的回购中,以后可能会与其他团队成员共享。在VSTS中,如果您想在再次需要PFX的地方使用持续集成,您可以使用“安全文件”选项。我理解这是为了什么,但您是说Jeff Brand关于“在商店提交过程中更换临时PFX”的说法不正确吗?如果他是正确的,则临时pfx仅在本地计算机上的调试模式下使用,而不会在部署的应用程序中使用。“临时pfx在商店提交过程中被替换”。我的回答是笼统的。您可以使用Makecert工具()使用self生成的PFX证书。VisualStudio会自动为您生成它,但这并不重要。对我来说,它不能为任何人发布,因为默认情况下它包含没有密码短语的私钥。